Compartir a través de


Cómo: Activar una animación al cambiar el valor de una propiedad

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

Referencia

Trigger

Conceptos

Información general sobre técnicas de animación de propiedades

Información general sobre objetos Storyboard