Wpf 从控件派生,然后允许其他人应用样式
我从控件基类派生了一个新控件,并在静态构造函数中设置了DefaultStyleKeyProperty,以便使用Generic.xaml中的适当样式来定义ControlTemplate。这一切都很好,我得到了几个按钮等预期的外观 现在我想添加一些样式实例来自定义新控件的设置,例如字体和前景色。但是,当我将样式指定给“自定义控件样式”属性时,它似乎删除了原始默认样式,因此不再具有任何外观 这似乎不太正确。TabControl有一个默认样式,但您仍然可以为TabControl.style属性指定一个样式,该属性仅修改前景色,不会在该过程中删除TabControl的其余外观Wpf 从控件派生,然后允许其他人应用样式,wpf,styles,controltemplate,Wpf,Styles,Controltemplate,我从控件基类派生了一个新控件,并在静态构造函数中设置了DefaultStyleKeyProperty,以便使用Generic.xaml中的适当样式来定义ControlTemplate。这一切都很好,我得到了几个按钮等预期的外观 现在我想添加一些样式实例来自定义新控件的设置,例如字体和前景色。但是,当我将样式指定给“自定义控件样式”属性时,它似乎删除了原始默认样式,因此不再具有任何外观 这似乎不太正确。TabControl有一个默认样式,但您仍然可以为TabControl.style属性指定一个样
知道我做错了什么吗?根据默认设置声明您的新样式:
<Style TargetType={x:Type MyControl} BasedOn={StaticResource {x:Type MyControl}>
根据默认设置声明新样式:
<Style TargetType={x:Type MyControl} BasedOn={StaticResource {x:Type MyControl}>