Xaml 为什么设置按钮。触发器中的背景不工作?

Xaml 为什么设置按钮。触发器中的背景不工作?,xaml,triggers,Xaml,Triggers,下面的MultiTrigger工作正常,但如果我尝试将Button.Background更改为红色,则无法工作。有什么想法吗 <Window.Resources> <Style TargetType="Button"> <Style.Triggers> <MultiTrigger> <MultiTrigger.Conditions

下面的MultiTrigger工作正常,但如果我尝试将Button.Background更改为红色,则无法工作。有什么想法吗

<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>
属性由设置,这意味着某些属性将覆盖样式属性

所以检查一下你是否直接在你的按钮上设置了背景,因为这会覆盖你的样式背景设置器;您可能还想考虑使用默认样式的样式,例如:

<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>     

这是因为Button的ControlTemplate。如果我将我的操作系统主题从Luna更改为Windows XP,则效果良好。看看这些链接


我没有内联背景属性。其他属性(如FontWeight)工作正常,唯一的问题是背景。我想知道这与系统主题/风格有关