| |
24.108.6.Control Animations Through Triggers |
|
<Window x:Class="Main"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="" Height="350" Width="400">
<Window.Resources>
<Storyboard x:Key="Storyboard" RepeatBehavior="10x">
<DoubleAnimation Storyboard.TargetName="rect1" Storyboard.TargetProperty="Width" To="250" FillBehavior="HoldEnd" AutoReverse="False" />
<DoubleAnimation Storyboard.TargetName="rect2" Storyboard.TargetProperty="Width" To="250" AutoReverse="True" />
<ColorAnimation Storyboard.TargetName="ellipse1" Storyboard.TargetProperty="Fill.(SolidColorBrush.Color)" To="Orange"
AutoReverse="True" />
</Storyboard>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnBegin">
<BeginStoryboard x:Name="beginStoryboard" Storyboard="{StaticResource Storyboard}" />
</EventTrigger>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnPause">
<PauseStoryboard BeginStoryboardName="beginStoryboard" />
</EventTrigger>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnResume">
<ResumeStoryboard BeginStoryboardName="beginStoryboard" />
</EventTrigger>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnStop">
<StopStoryboard BeginStoryboardName="beginStoryboard" />
</EventTrigger>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnSeek">
<SeekStoryboard BeginStoryboardName="beginStoryboard" Offset="0:0:5" Origin="BeginTime" />
</EventTrigger>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnSkipToFill">
<SkipStoryboardToFill BeginStoryboardName="beginStoryboard" />
</EventTrigger>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnDoubleSpeed">
<SetStoryboardSpeedRatio BeginStoryboardName="beginStoryboard" SpeedRatio="2" />
</EventTrigger>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnHalfSpeed">
<SetStoryboardSpeedRatio BeginStoryboardName="beginStoryboard" SpeedRatio="0.5" />
</EventTrigger>
</Window.Triggers>
<Grid>
<StackPanel>
<Rectangle x:Name="rect1" Width="50" Height="100" Stroke="Black" Fill="CornflowerBlue" Margin="5" />
<Ellipse x:Name="ellipse1" Width="50" Height="50" Stroke="Black" Fill="Firebrick" StrokeThickness="1" Margin="5" />
<Rectangle x:Name="rect2" Width="50" Height="100" Stroke="Black" Fill="CornflowerBlue" Margin="5" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button x:Name="btnBegin" Content="Begin" />
<Button x:Name="btnPause" Content="Pause" />
<Button x:Name="btnResume" Content="Resume" />
<Button x:Name="btnStop" Content="Stop" />
<Button x:Name="btnSeek" Content="Seek" />
<Button x:Name="btnSkipToFill" Content="Skip To Fill" />
<Button x:Name="btnDoubleSpeed" Content="Double Speed" />
<Button x:Name="btnHalfSpeed" Content="Half Speed" />
</StackPanel>
</Grid>
</Window>
|
|
|
|