XAML: Why does this trigger not work?

I would like to use a trigger outside the style. Edit : screams, sorry, this is really inside the style for MainWindow, but I want the trigger to apply to Ellipse, not MainWindow.

<Ellipse Fill="White" StrokeThickness="1" Stroke="Black">
    <Ellipse.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Fill" Value="Yellow"/>
        </Trigger>
    </Ellipse.Triggers>
</Ellipse>

How to fix a compiler error that "Cannot find the static FillProperty member" in type "MainWindow"?

+3
source share
3 answers

you have to put this in style

<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>
+4
source

In direct triggers, you need these type names:

<Ellipse Width="100" Height="100">
    <Ellipse.Triggers>
        <Trigger Property="Ellipse.IsMouseOver" Value="True">
            <Setter Property="Ellipse.Fill" Value="Yellow" />
        </Trigger>
    </Ellipse.Triggers>
</Ellipse>

This will not work, since direct triggers only allow EventTriggers, use the style instead.

+2
source

"", Ellipse. , "".

0

All Articles