Freigeben über


Gewusst wie: Auslösen einer Animation bei Änderung eines Eigenschaftswerts

In diesem Beispiel wird gezeigt, wie mit einem Trigger ein Storyboard gestartet wird, wenn sich ein Eigenschaftswert ändert. Sie können einen Trigger in einem Style, einer ControlTemplate oder einer DataTemplate verwenden.

Beispiel

Im folgenden Beispiel wird ein Trigger zum Animieren der Opacity eines Button verwendet, wenn dessen IsMouseOver-Eigenschaft in true geändert wird.

<!-- PropertyTriggerExample.xaml
     Shows how to use property triggers to start animations. -->
<Page
  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="Animate Properties with Storyboards">
  <Page.Resources>

    <Style x:Key="PropertyTriggerExampleButtonStyle" TargetType="{x:Type Button}">

      <Setter Property="Opacity" Value="0.25" />

      <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">

          <Trigger.EnterActions>
            <BeginStoryboard>
              <Storyboard>
                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                  To="1" Duration="0:0:1" />
              </Storyboard>
            </BeginStoryboard>
          </Trigger.EnterActions>
          <Trigger.ExitActions>
            <BeginStoryboard>
              <Storyboard>
                <DoubleAnimation Storyboard.TargetProperty="Opacity"
                  To="0.25" Duration="0:0:1" />
              </Storyboard>
            </BeginStoryboard>
          </Trigger.ExitActions>          
        </Trigger>               
      </Style.Triggers>    
    </Style>
  </Page.Resources>

  <StackPanel Margin="20">

    <Button Style="{StaticResource PropertyTriggerExampleButtonStyle}">
      Move the mouse over me.
    </Button>

  </StackPanel>
</Page>

Von Trigger-Eigenschaftenobjekten angewendete Animationen verhalten sich komplexer als EventTrigger-Animationen oder Animationen, die mithilfe von Storyboard-Methoden gestartet wurden. Sie werden mit Animationen "übergeben", die von anderen Trigger-Objekten definiert wurden, setzen sich aber aus EventTrigger und durch Methoden ausgelösten Animationen zusammen.

Siehe auch

Referenz

Trigger

Konzepte

Übersicht über die Verfahren zur Animation von Eigenschaften

Übersicht über Storyboards