以下MultiTrigger工作正常,但如果我尝试将Button.Background更改为Red,则无效。有什么想法吗?
<Window.Resources>
<Style TargetType="Button">
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions >
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsFocused" Value="True" />
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter Property="FontWeight" Value="Bold" />
</MultiTrigger.Setters>
</MultiTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
答案 0 :(得分:0)
属性由Precedence List设置,这意味着某些属性会覆盖您的Style
属性。
因此,请检查您是否在Background
上直接设置了Button
,因为这会覆盖您的Style
背景设置者;您可能还需要考虑将样式用作默认背景,如下所示:
<Style TargetType="Button">
<Setter Property="Background" Value="Green" />
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions >
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsFocused" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Background" Value="Red" />
</MultiTrigger>
</Style.Triggers>
</Style>
答案 1 :(得分:0)
由于Button的ControlTemplate,这种情况正在发生。如果我将我的操作系统主题从Luna更改为Windows XP,则可以正常工作。看看这些链接
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/b23e8641-977f-4127-a96a-d329a1ba04e4/
http://www.wiredprairie.us/journal/2006/09/wpf_decorators_build_your_own.html