Nasıl yapılır: Özellik Değeri Değiştiğinde bir Animasyonu Tetikleme

Bu örnekte, bir özellik değeri Trigger değişirken bir başlatmak Storyboard için nasıl bir kullanabileceğiniz gösterir. , veya içinde TriggerStyleControlTemplateDataTemplate kullanabilirsiniz.

Örnek

Aşağıdaki örnek, özelliği Trigger haline geldiğinde bir için OpacityButton animasyonu yapmak için IsMouseOvertrue kullanır.

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

Özellik nesneleri tarafından uygulanan Trigger animasyonlar, yöntemler kullanılarak başlayan animasyonlardan EventTrigger veya animasyonlardan daha karmaşık bir Storyboard şekilde davranır. Diğer nesneler tarafından tanımlanan animasyonlarla Trigger "ileti"ler, ancak ile ve yöntem tarafından EventTrigger tetiklenen animasyonlarla oluşur.

Ayrıca bkz.