Share via


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

Visão geral sobre Storyboards

Referência

Trigger