我有一个复合控件,可以创建数据网格和其他组件。该控件的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>
皮肤设置应用于页面中的其他网格视图,但不应用于我的复合控件创建的网格视图。
如何将主题应用于复合控件创建的控件?
答案 0 :(得分:0)
解决方案只是为OnLoad方法中的子控件显式调用ApplyStyleSheetSkin
:
protected override void OnLoad(EventArgs e) {
EnsureChildControls();
TheGridView.ApplyStyleSheetSkin(Page);
}