我想在风格之外使用触发器。 编辑:哎呀,抱歉,它实际上在MainWindow的一个样式中,但是我希望触发器应用于Ellipse而不是MainWindow。
<Ellipse Fill="White" StrokeThickness="1" Stroke="Black">
<Ellipse.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="Yellow"/>
</Trigger>
</Ellipse.Triggers>
</Ellipse>
如何修复编译器错误,即“在'MainWindow'类型上找不到静态成员'FillProperty'”?
答案 0 :(得分:4)
你必须把它放在风格
<Ellipse StrokeThickness="1" Width="20" Height="20" Stroke="black">
<Ellipse.Style>
<Style TargetType="{x:Type Ellipse}">
<Setter Property="Fill" Value="Red"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Fill" Value="green"/>
</Trigger>
</Style.Triggers>
</Style>
</Ellipse.Style>
答案 1 :(得分:2)
在直接触发器中,您需要符合条件的类型名称,如下所示:
<Ellipse Width="100" Height="100">
<Ellipse.Triggers>
<Trigger Property="Ellipse.IsMouseOver" Value="True">
<Setter Property="Ellipse.Fill" Value="Yellow" />
</Trigger>
</Ellipse.Triggers>
</Ellipse>
这不起作用,因为直接触发器仅允许EventTriggers
,而是使用样式。
答案 2 :(得分:0)
您的窗口没有像Ellipse那样名为“Fill”的属性。也许你的意思是“背景”。