방법: 요소 또는 브러시의 불투명도에 애니메이션 효과 적용
프레임워크 요소가 페이드 인/아웃되게 하려면, 관련 Opacity 속성에 애니메이션 효과를 주거나 그리는 데 사용한 Brush의 Opacity 속성(또는 브러시)에 애니메이션 효과를 주면 됩니다. 요소의 불투명도에 애니메이션 효과를 주면 요소와 관련 자식이 보기에서 페이드 인/아웃되지만, 요소를 그리는 데 사용하는 브러시에 애니메이션 효과를 주면 요소에서 페이드되는 부분을 더 자세히 선택할 수 있습니다. 예를 들어 단추의 배경을 그리는 데 사용하는 브러시의 불투명도에 애니메이션 효과를 줄 수 있습니다. 이렇게 하면 단추의 배경이 보기에서 페이드 인/아웃되지만 텍스트는 계속 완전히 불투명해집니다.
다음 예제에서는 단추 2개에 애니메이션 효과를 적용하여 보기에서 페이드 인/아웃되게 합니다. 첫 번째 Button의 불투명도는 5초 이상의 Duration에 1.0
에서 0.0
으로 애니메이션 효과가 적용됩니다. 두 번째 단추에도 애니메이션 효과가 적용되지만, 관련 Background를 칠하는 데 사용한 SolidColorBrush의 불투명도는 전체 단추의 불투명도가 되지 않고 애니메이션 효과가 적용됩니다. 예제를 실행하면 첫 번째 단추는 보기에서 완전히 페이드 인/아웃되지만, 두 번째 단추는 배경만 페이드 인/아웃됩니다. 관련 텍스트와 테두리는 완전히 불투명한 상태를 유지합니다.
예제
<!-- OpacityAnimationExample.xaml
This example shows how to animate the opacity of objects,
making them fade in and out of view. -->
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowTitle="Opacity Animation Example" Background="White">
<StackPanel Margin="20">
<!-- Clicking this button animates its opacity. -->
<Button Name="opacityAnimatedButton">
A Button
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="opacityAnimatedButton"
Storyboard.TargetProperty="(Button.Opacity)"
From="1" To="0" Duration="0:0:5" AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<!-- Clicking this button animates the opacity of the brush
used to paint its background. -->
<Button>
A Button
<Button.Background>
<SolidColorBrush x:Name="MyAnimatedBrush" Color="Orange" />
</Button.Background>
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="MyAnimatedBrush"
Storyboard.TargetProperty="(Brush.Opacity)"
From="1" To="0" Duration="0:0:5" AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
</StackPanel>
</Page>
이 예제에서는 코드를 생략합니다. 전체 샘플은 LinearGradientBrush 안에 있는 Color의 불투명도에 애니메이션을 적용하는 방법도 보여줍니다. 전체 샘플을 확인하고 싶다면 요소 샘플의 불투명도에 애니메이션 효과 적용을 참조하세요.
.NET Desktop feedback
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기