2008. 11. 4. 00:00 :: Advanced WPF
간단히 복권을 긁는 효과를 구현 해보도록 하겠습니다. 아래는 시연 동영상입니다.
아래는 소스코드입니다. XAML만으로 구현했기때문에 이해하시는데에 큰 문제는 없으실것 같습니다.
가장먼저 눈에 띄는 부분이 엄청난 분량의 Rectangle입니다. 활용 가능성을 보여드리기 위해 이렇게 많은 객체를 사용했지만 저렇게 사용하는 것이 최적화된 코드는 아니라는걸 알려드립니다! 위 코드에서 가장 중요한 부분은 Rectangle객체를 하나의 Style로 지정하여 마우스 오버가 될때 DoubleAnimation 과 ColorAnimation을 사용해서 뒷부분이 밝혀지는 효과를 주는데 있습니다.
기타 질문은 리플이나 메일로 보내주시면 답변해드리겠습니다.
- <GRID Width="250" Height="250" Background="Red">
- <IMG height=250 width=250 Source="PICTURE.JPG">
- <WRAPPANEL>
- <WRAPPANEL.RESOURCES>
- <STYLE TargetType="Rectangle">
- <Setter Property="Fill" Value="Black"/>
- <Setter Property="Width" Value="25"/>
- <Setter Property="Height" Value="25"/>
- <Style.Triggers>
- <EventTrigger RoutedEvent="Rectangle.MouseEnter">
- <EventTrigger.Actions>
- <BeginStoryboard>
- <Storyboard Storyboard.TargetProperty="(Rectangle.Opacity)">
- <DoubleAnimation To="0" Duration="0:0:0.5"/>
- <ColorAnimation To="White" Duration="0:0:0.5"
- Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)"/>
- </Storyboard>
- </BeginStoryboard>
- </EventTrigger.Actions>
- </EventTrigger>
- </Style.Triggers>
- </STYLE>
- </WRAPPANEL.RESOURCES>
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE /> <RECTANGLE />
- </WRAPPANEL>
- </GRID>
가장먼저 눈에 띄는 부분이 엄청난 분량의 Rectangle입니다. 활용 가능성을 보여드리기 위해 이렇게 많은 객체를 사용했지만 저렇게 사용하는 것이 최적화된 코드는 아니라는걸 알려드립니다! 위 코드에서 가장 중요한 부분은 Rectangle객체를 하나의 Style로 지정하여 마우스 오버가 될때 DoubleAnimation 과 ColorAnimation을 사용해서 뒷부분이 밝혀지는 효과를 주는데 있습니다.
기타 질문은 리플이나 메일로 보내주시면 답변해드리겠습니다.