Procedure: Een animatie activeren wanneer een eigenschapswaarde wordt gewijzigd

In dit voorbeeld ziet u hoe u een Trigger gebruikt om een Storyboard te starten wanneer een eigenschapswaarde wordt gewijzigd. U kunt een Trigger in een Style, ControlTemplateof DataTemplategebruiken.

Voorbeeld

In het volgende voorbeeld wordt een Trigger gebruikt om de Opacity van een Button te animeren wanneer de IsMouseOver-eigenschap truewordt.

<!-- 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>

Animaties die door objecten met eigenschap Trigger worden toegepast, gedragen zich op een complexere manier dan EventTrigger-animaties of animaties die zijn gestart met Storyboard methoden. Ze dragen over met animaties die zijn gedefinieerd door andere Trigger objecten, maar combineren met EventTrigger en door methoden geactiveerde animaties.

Zie ook