방법: 속성 값이 변경될 때 애니메이션 트리거
이 예제에서는 속성 값이 변경되는 경우 Trigger를 사용하여 Storyboard를 시작하는 방법을 보여줍니다. Style, ControlTemplate 또는 DataTemplate에서 Trigger를 사용할 수 있습니다.
예제
다음 예제에서는 Trigger를 사용하여 IsMouseOver 속성이 true
가 되면 Button의 Opacity에 애니메이션 효과를 줍니다.
<!-- 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>
속성 Trigger 개체에 의해 적용된 애니메이션은 EventTrigger 애니메이션이나 Storyboard 메서드를 사용하여 시작한 애니메이션보다 좀 더 복잡한 방식으로 동작합니다. 이들은 다른 Trigger 개체로 정의된 애니메이션을 “전달”하지만 EventTrigger 및 메서드 트리거 애니메이션으로 구성됩니다.
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET Desktop feedback