我是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>
感谢。
答案 0 :(得分:5)
这完全是因为Property值的优先级。以下链接得到了很好的解释。
答案 1 :(得分:-1)
区别在于
行<Setter Property="Fill" Value="Blue" />
阅读有关ControlTemplates的更多信息。