我正在尝试设置WPF xctk:ColorPicker的样式。我想更改下拉 View 的背景颜色和文本,而无需重新定义整个样式。

我知道ColorPicker包含名为“PART_ColorPickerPalettePopup”的零件。有没有一种方法可以直接引用我的样式中的这一部分,例如新的背景色吗?

我想避免不必重新定义“PART_ColorPickerPalettePopup”的所有其他属性。

Link to the ColorPicker I am describing

最佳答案

您可以将一个样式作为其他样式的基础,并覆盖特定的 setter :

<Style x:Key="myStyle" TargetType="xctk:ColorPicker" BasedOn="{StaticResource {x:Type xctk:ColorPicker}}">
    <!-- This will override the Background setter of the base style -->
    <Setter Property="Background" Value="Red" />
</Style>

但是您不能仅“覆盖” ControlTemplate的一部分。不幸的是,您必须然后重新定义整个模板。

关于c# - WPF:有没有一种方法可以重写ControlTemplate的一部分而不重新定义整个样式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41570096/

10-08 22:28