我是 WPF 的新手。这有点令人困惑,为什么第一个代码片段工作正常(当鼠标悬停时,颜色会改变)但第二个代码片段不起作用?
<Ellipse Height="50" Width="50" Opacity="0.5" Stroke="Black" >
<Ellipse.Style>
<Style TargetType="{x:Type Ellipse}">
<Setter Property="Fill" Value="Blue" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="Green">
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
//
<Ellipse Height="50" Width="50" Fill="Blue" Opacity="0.5" Stroke="Black" >
<Ellipse.Style>
<Style TargetType="{x:Type Ellipse}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="Green">
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
谢谢。
最佳答案
这纯粹是因为属性值的优先级。下面的链接得到了很好的解释。
关于wpf - 鼠标悬停时更改椭圆的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8531516/