我希望在禁用按钮时避免按钮的颜色变化。 如果禁用或不使用,按钮颜色应该相同。
使用样式我可以在禁用后更改背景颜色:
<Style TargetType="{x:Type Button}">
...
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
...
<ControlTemplate.Triggers>
...
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="Border" Property="Background" Value="#EEEEEE" />
<Setter TargetName="Border" Property="BorderBrush" Value="#AAAAAA" />
<Setter Property="Foreground" Value="#888888"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我可以在那里更改背景颜色,但我想保持动态,因为背景颜色是数据绑定的,不应该改变。
如果删除背景设定器,则会执行默认的背景颜色更改。
如何禁用颜色变换?或者至少制作Disabled-Background-Color数据包?
抱歉我的英语不好。
答案 0 :(得分:0)
如果你想让它成为数据融合最合适的地方,imo,在你的控件的相对DataTmplate内声明它,你指定Style
(已经由你定义)和数据应用于控件。
在那里,您可以在要显示在按钮上的状态和相对颜色之间定义Converter。
或强>
如果您想限制自己Style
,可以在Style
内部定义数据绑定。 Imo不太符合逻辑,但可能。
看看这个答案: