我正在尝试设置块,因此它的前景颜色每次都会改变 鼠标光标移过它,这是我的代码:
<TextBlock Foreground="blue" Margin="18,234,5,-2" Grid.RowSpan="3">
<Underline>Remove Message</Underline>
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<Trigger Property ="IsMouseOver" Value="True">
<Setter Property= "Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
当我尝试将setter属性更改为任何其他属性时,例如FontSize="30"
,事件确实发生。
答案 0 :(得分:41)
这是因为控件上设置的属性会覆盖Style中定义的属性,因此Foreground =“blue”将覆盖您在样式中设置的任何内容。要解决此问题,您可以在样式中移动Foreground =“blue”并将其从控件的属性中删除。
<TextBlock Margin="18,234,5,-2" Grid.RowSpan="3">
<Underline>Remove Message</Underline>
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property= "Foreground" Value="Blue"/>
<Style.Triggers>
<Trigger Property ="IsMouseOver" Value="True">
<Setter Property= "Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>