0

我有一个创建数据网格和其他组件的复合控件。该控件的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>

皮肤设置应用于页面中的其他网格视图,但不适用于由我的复合控件创建的网格视图。

我应该怎么做才能将主题应用于由复合控件创建的控件?

4

1 回答 1

0

解决方案只是ApplyStyleSheetSkin在 OnLoad 方法中显式调用子控件:

protected override void OnLoad(EventArgs e) {
    EnsureChildControls();
    TheGridView.ApplyStyleSheetSkin(Page);
}
于 2013-05-28T13:53:12.897 回答