■ BeginStoryboard 엘리먼트의 HandoffBehavior 속성을 사용하는 방법을 보여준다.
▶ MainWindow.xaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
<Window x:Class="TestProject.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="800" Height="600" Title="TestProject" FontFamily="나눔고딕코딩" FontSize="16"> <Window.Resources> <Storyboard x:Key="FadeToHalfStoryboardKey"> <DoubleAnimation Storyboard.TargetProperty="Fill.Opacity" Duration="00:00:01.0" To="0.5" /> <DoubleAnimation Storyboard.TargetProperty="Height" Duration="00:00:01.0" To="45" /> </Storyboard> <Storyboard x:Key="FadeToFullStoryboardKey"> <DoubleAnimation Storyboard.TargetProperty="Fill.Opacity" Duration="00:00:01.0" /> <DoubleAnimation Storyboard.TargetProperty="Height" Duration="00:00:01.0" /> </Storyboard> <Style x:Key="ComposeStyleKey" TargetType="{x:Type Rectangle}"> <Setter Property="Width" Value="200" /> <Setter Property="Height" Value="200" /> <Setter Property="Fill" Value="Red" /> <Style.Triggers> <EventTrigger RoutedEvent="Mouse.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard Storyboard="{StaticResource FadeToHalfStoryboardKey}" HandoffBehavior="Compose" /> </EventTrigger.Actions> </EventTrigger> <EventTrigger RoutedEvent="Mouse.MouseLeave"> <EventTrigger.Actions> <BeginStoryboard Storyboard="{StaticResource FadeToFullStoryboardKey}" HandoffBehavior="Compose" /> </EventTrigger.Actions> </EventTrigger> </Style.Triggers> </Style> <Style x:Key="HandoffStyleKey" TargetType="{x:Type Rectangle}"> <Setter Property="Width" Value="200" /> <Setter Property="Height" Value="200" /> <Setter Property="Fill" Value="Blue" /> <Style.Triggers> <EventTrigger RoutedEvent="Mouse.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard Storyboard="{StaticResource FadeToHalfStoryboardKey}" HandoffBehavior="SnapshotAndReplace" /> </EventTrigger.Actions> </EventTrigger> <EventTrigger RoutedEvent="Mouse.MouseLeave"> <EventTrigger.Actions> <BeginStoryboard Storyboard="{StaticResource FadeToFullStoryboardKey}" HandoffBehavior="SnapshotAndReplace" /> </EventTrigger.Actions> </EventTrigger> </Style.Triggers> </Style> </Window.Resources> <Grid HorizontalAlignment="Center" VerticalAlignment="Center"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="10" /> <RowDefinition Height="200" /> <RowDefinition Height="10" /> <RowDefinition Height="200" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="200" /> <ColumnDefinition Width="10" /> <ColumnDefinition Width="200" /> </Grid.ColumnDefinitions> <TextBlock Grid.Row="0" Grid.Column="0" Foreground="Red"> Compose </TextBlock> <TextBlock Grid.Row="0" Grid.Column="2" Foreground="Blue"> SnapshotAndReplace </TextBlock> <Rectangle Grid.Row="2" Grid.Column="0" Style="{StaticResource HandoffStyleKey}" VerticalAlignment="Top" /> <Rectangle Grid.Row="2" Grid.Column="2" Style="{StaticResource ComposeStyleKey}" VerticalAlignment="Top" /> <Rectangle Grid.Row="4" Grid.Column="0" Style="{StaticResource ComposeStyleKey}" VerticalAlignment="Top" /> <Rectangle Grid.Row="4" Grid.Column="2" Style="{StaticResource HandoffStyleKey}" VerticalAlignment="Top" /> </Grid> </Window> |