鼠标悬停时更改椭圆的颜色

gfy*_*ytd 3 wpf

我是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>
Run Code Online (Sandbox Code Playgroud)

//

<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>
Run Code Online (Sandbox Code Playgroud)

谢谢.

Kis*_*mar 5

这完全是因为Property值的优先级.以下链接得到了很好的解释.

如果在Element中设置,WPF触发器将不会设置属性