Procedura: attivare un'animazione quando il valore di una proprietà viene modificato
In questo esempio viene illustrato come utilizzare un Trigger per avviare uno Storyboard quando viene modificato il valore di una proprietà. È possibile utilizzare Trigger all'interno di Style, ControlTemplate o DataTemplate.
Esempio
Nell'esempio seguente viene utilizzato Trigger per animare Opacity di Button quando la relativa proprietà IsMouseOver diventa 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>
Le animazioni applicate tramite oggetti Trigger di proprietà dimostrano un comportamento più complesso rispetto alle animazioni EventTrigger o a quelle avviate tramite i metodi Storyboard. Vengono fornite con animazioni definite da altri oggetti Trigger, ma possono essere combinate con animazioni EventTrigger e con animazioni attivate tramite metodi.
Vedere anche
Riferimenti
Concetti
Cenni preliminari sulle tecniche di animazione delle proprietà