在复合控件中应用主题
本文关键字:应用 复合控件 | 更新日期: 2023-09-27 18:15:25
我有一个创建数据网格和其他组件的复合控件。控件的Themeable
属性设置为true:
[ToolboxData("<{0}:MyCompositeControl runat=server />")]
[Themeable(true)]
public class MyCompositeControl : CompositeControl {
在.skin
文件在我的主题,这是应用到页面,我有一些设置GridView控件,如
<asp:GridView runat="server" GridLines="None" CssClass="datacontrol">
<AlternatingRowStyle BackColor="#E0F0FF" ForeColor="#333333" />
</asp:GridView>
皮肤设置应用于页面中的其他网格视图,但不应用于我的复合控件创建的网格视图。
如何将主题应用于复合控件创建的控件?
解决方案是简单地显式调用ApplyStyleSheetSkin
在OnLoad方法中的子控件:
protected override void OnLoad(EventArgs e) {
EnsureChildControls();
TheGridView.ApplyStyleSheetSkin(Page);
}