Cómo: Activar una animación al cambiar el valor de una propiedad
Actualización: noviembre 2007
En este ejemplo se muestra cómo utilizar un objeto Trigger para iniciar un objeto Storyboard cuando cambia un valor de propiedad. Puede utilizar Trigger dentro de Style, ControlTemplate o DataTemplate.
Ejemplo
En el ejemplo siguiente se utiliza un objeto Trigger para animar la propiedad Opacity de un control Button cuando el valor de su propiedad IsMouseOver pasa a ser 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>
Las animaciones aplicadas por objetos Trigger de propiedad se comportan de un modo más complejo que las animaciones de EventTrigger o que aquéllas que se inician mediante métodos de Storyboard. Se "continúan" con animaciones definidas por otros objetos Trigger, pero se crean con EventTrigger y animaciones activadas por métodos.
Vea también
Conceptos
Información general sobre técnicas de animación de propiedades
Información general sobre objetos Storyboard