Como: Trigger an Animation When a Property Value Changes
Este exemplo mostra como usar um Trigger para iniciar um Storyboard quando um valor de propriedade for alterado. Você pode usar um Trigger em um Style, ControlTemplate ou DataTemplate.
Exemplo
O exemplo a seguir usa um Trigger para animar a Opacity de um Button quando sua propriedade IsMouseOver se tornar true.
<!-- 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>
Animações aplicadas por objetos Trigger de propriedade se comportam de maneira mais complexa do que animações EventTrigger ou animações iniciadas usando métodos de Storyboard. Elas "entregam" para animações definidas por outros objetos Trigger, mas se compõem com animações por EventTrigger e animações acionadas por método.
Consulte também
Conceitos
Visão geral de técnicas de animação de propriedades