Wie man eine Animation auslöst, wenn sich ein Eigenschaftswert ändert
In diesem Beispiel wird gezeigt, wie Sie eine Trigger verwenden, um eine Storyboard zu initiieren, wenn sich der Wert einer Eigenschaft ändert. Sie können eine Trigger innerhalb eines Style, ControlTemplateoder DataTemplateverwenden.
Beispiel
Im folgenden Beispiel wird ein Trigger verwendet, um die Opacity eines Button zu animieren, wenn die Eigenschaft IsMouseOver zu true
wird.
<!-- PropertyTriggerExample.xaml
Shows how to use property triggers to start animations. -->
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://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>
Animationen, die auf Eigenschaften von Trigger Objekten angewendet werden, verhalten sich komplexer als EventTrigger Animationen oder Animationen, die mit Storyboard Methoden gestartet werden. Sie übergeben mit Animationen, die von anderen Trigger Objekten definiert wurden, komponieren jedoch mit EventTrigger und methodengetriggerten Animationen.
Siehe auch
- Trigger
- Übersicht der Eigenschaften-Animationstechniken
- Übersicht über Storyboards
.NET Desktop feedback