1

我从 Control 基类派生了一个新控件,并在静态构造函数中设置了 DefaultStyleKeyProperty,以便使用 Generic.xaml 中的适当样式来定义 ControlTemplate。这一切都很好,我得到了几个按钮等的预期外观。

现在我想添加一些 Style 实例来自定义我的新控件的设置,例如字体和前景色。但是当我将样式分配给自定义控件 Style 属性时,它似乎删除了原始默认样式,因此它不再具有任何外观。

这似乎不太对劲。TabControl 具有默认样式,但您仍然可以将 Style 分配给 TabControl.Style 属性,该属性仅修改前景色,并且在此过程中不会删除 TabControl 外观的其余部分。

任何想法我做错了什么?

4

1 回答 1

1

根据默认值声明您的新样式:

<Style TargetType={x:Type MyControl} BasedOn={StaticResource {x:Type MyControl}>
于 2012-09-14T04:58:48.663 回答