我从Control基类派生了一个新控件,并在静态构造函数中设置DefaultStyleKeyProperty,以便使用Generic.xaml中的相应样式来定义ControlTemplate。这一切都很好,我得到了几个按钮等的预期外观。
现在我想添加一些Style实例来自定义新控件的设置,例如字体和前景色。但是当我将样式分配给自定义控件Style属性时,它似乎删除了原始的默认样式,因此它不再具有任何外观。
这似乎不太合适。 TabControl具有默认样式,但您仍然可以将样式分配给TabControl.Style属性,该属性仅修改前景颜色,并且不会删除过程中其余的TabControl外观。
任何想法我做错了什么?
答案 0 :(得分:1)
根据默认值声明新样式:
<Style TargetType={x:Type MyControl} BasedOn={StaticResource {x:Type MyControl}>