wpf - 从 Control 派生,然后允许其他人应用样式

标签 wpf styles controltemplate

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

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

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

知道我做错了什么吗?

最佳答案

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

<Style TargetType={x:Type MyControl} BasedOn={StaticResource {x:Type MyControl}>

关于wpf - 从 Control 派生,然后允许其他人应用样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12417683/

相关文章:

silverlight - 为什么我得到不一致的绑定(bind)结果

c# - 为什么 WPF 在 Windows 8 中不显示 Windows 8 样式按钮

c# - WPF响应式设计(液体布局)

css - 我如何检查规范化的 css 是否在 angularjs 中工作?

c - 对 "Programming in C"这本书感到有点困惑(Stephen Kochan)

c# - 在 ControlTemplate 中设置按钮图像

c# - 使用 ClosedXML 和 OpenFileDialog 将 Excel 导入 DataGrid

wpf - 如何在文本框上实现自动保存?

android - 将 Theme.Dialog 更改为 Android 中的 Theme.Light.Dialog

uwp - 在哪里可以找到 UWP 控件的默认控件模板?