Gewusst wie: Auslösen einer Animation bei Änderung eines Eigenschaftenwerts
Aktualisiert: November 2007
In diesem Beispiel wird gezeigt, wie mit einem Trigger ein Storyboard gestartet wird, wenn sich ein Eigenschaftenwert ä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
Konzepte
Übersicht über die Verfahren zur Animation von Eigenschaften