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.