按钮的前景不会在属性触发器中更改

Jeh*_*hof 4 wpf triggers button

为什么这个触发器工作(当鼠标结束时将按钮的前景改为"红色")

<Grid>
 <Grid.Resources>
  <Style TargetType="{x:Type Button}">
   <Style.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
     <Setter Property="Foreground" Value="Red"/>
    </Trigger>
   </Style.Triggers>
  </Style>
 </Grid.Resources>
 <Button Content="Hello"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

但是当按钮的前景设置为一种颜色(在这种情况下为"蓝色")时,不是这个触发器?

<Grid>
 <Grid.Resources>
  <Style TargetType="{x:Type Button}">
   <Style.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
     <Setter Property="Foreground" Value="Red"/>
    </Trigger>
   </Style.Triggers>
  </Style>
 </Grid.Resources>
 <Button Foreground="Blue" Content="Hello"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

Bra*_*rad 7

按钮的本地值将覆盖样式.尝试:

<Grid>

    <Grid.Resources>
        <Style TargetType="{x:Type Button}">
            <Setter Property="Foreground" Value="Blue"/>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="Red"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Grid.Resources>

    <Button Content="Hello"/>

</Grid>
Run Code Online (Sandbox Code Playgroud)