Procedura: attivare un'animazione quando il valore di una proprietà viene modificato
In questo esempio viene illustrato come utilizzare un Trigger oggetto per avviare un Storyboard oggetto quando viene modificato un valore di una proprietà. È possibile usare un oggetto all'interno di Trigger un Styleoggetto , ControlTemplateo DataTemplate.
Esempio
Nell'esempio seguente viene utilizzato un Trigger oggetto per animare l'oggetto Opacity di quando Button la relativa IsMouseOver proprietà diventa true
.
<!-- 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>
Le animazioni applicate dagli oggetti proprietà Trigger si comportano in modo più complesso rispetto EventTrigger alle animazioni o alle animazioni avviate usando Storyboard metodi. Essi "handoff" con animazioni definite da altri Trigger oggetti, ma compongono con EventTrigger e animazioni attivate dal metodo.
Vedi anche
.NET Desktop feedback