我有一个包含按钮的用户控件:
<Button Content="Button"/>
同时还有一个样式:
<Style TargetType="Button">
<Setter Property="Background" Value="Blue"/>
</Style>
父窗口(或另一个UserControl)可以设置另一个更通用的样式:
<Style TargetType="Button">
<Setter Property="Background" Value="Red"/>
</Style>
结果显然是,父级按钮将具有更一般的样式(红色),而我的用户控件将具有更具体的样式(蓝色)。
我想知道如何反转这种行为,以实现在自定义用户控件中设置默认样式,如果必要,可以在父控件或窗口中覆盖它?
关键是,默认样式首先在自定义用户控件中定义,并且被其父类自动覆盖。这就是我称之为反转的原因。
解决方案的想象示例可能如下:
<Style TargetType="Button" StylePriority="Default">
<Setter Property="Background" Value="Blue"/>
</Style>
< p > StylePriority
可能表示如果没有为该按钮定义其他样式,则应将默认样式应用于它。
usercontrol
中重新定义另一个样式呢? - Bolu