كيفية القيام بما يلي: تشغيل حركة عند تغيير قيمة خاصية
يوضح هذا المثال كيفية استخدام Trigger لبدء تشغيل Storyboard عندما تتغير قيمة خاصية. يمكنك استخدام Trigger داخل Style ، ControlTemplate, أو DataTemplate.
مثال
يستخدم المثال التالي Trigger لتحريك Opacity التابع الى Button عندما تصبح خاصية IsMouseOver 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>
الحركة المطبقة من قبل خاصية كائناتTrigger تتصرف بطريقة أكثر تعقيداً من حركات EventTrigger أو الحركات التي تم بدء تشغيلها باستخدام أساليب Storyboard. فهم "يوصلون" مع الحركات التي تم تعريفها من قِبل كائنات Trigger أخرى لكن يتم إنشاء مع حركات EventTrigger و حركات تم تشغيلها بواسطة أسلوب.