Cómo: Activar una animación al cambiar el valor de una propiedad
En este ejemplo se muestra cómo usar Trigger para iniciar un objeto Storyboard cuando cambia un valor de propiedad. Puede usar un objeto Trigger dentro de Style, ControlTemplate o DataTemplate.
Ejemplo
En el ejemplo siguiente se usa Trigger para animar la propiedad Opacity de Button cuando su propiedad IsMouseOver se convierte en true
.
<!-- 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>
Las animaciones aplicadas por los objetos de propiedad Trigger se comportan de manera más compleja que las animaciones EventTrigger o las animaciones que se inician mediante métodos Storyboard. "Entregan" con animaciones definidas por otros objetos Trigger, pero componen con EventTrigger y animaciones desencadenadas por métodos.
Vea también
.NET Desktop feedback