Gewusst wie: Auslösen einer Animation bei Änderung eines Eigenschaftswerts
In diesem Beispiel wird gezeigt, wie sie einen Trigger verwenden, um ein Storyboard zu starten, wenn sich ein Eigenschaftswert ändert. Sie können ein Trigger innerhalb eines Style, einer ControlTemplate oder einer DataTemplate verwenden.
Beispiel
Im folgenden Beispiel wird ein Trigger zum Animieren der Opacity eines Button verwendet, wenn seine IsMouseOver-Eigenschaft sich auf true
ändert.
<!-- 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 durch Objekte mit der Eigenschaft Trigger 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 werden, aber mit EventTrigger und von Methoden ausgelösten Animationen zusammengesetzt sind.
Weitere Informationen
.NET Desktop feedback