Mega Code Archive

 
Categories / C# / WPF
 

Animated ScaleTransform

<Window x:Class="Workspace.DockExample"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="Workspace" Width="640" Height="480">     <StackPanel Orientation="Horizontal">          <Canvas Width="200" Height="200">             <Polyline Name="myAnimatedPolyline"               Points="25,25 0,50 25,75 50,50 25,25 25,0" Stroke="Blue" StrokeThickness="10"                  Canvas.Left="75" Canvas.Top="50">                 <Polyline.RenderTransform>                     <TransformGroup>                         <TransformGroup.Children>                             <TransformCollection>                                 <RotateTransform                                    x:Name="AnimatedRotateTransform"                                   CenterX="25" CenterY="50" Angle="0" />                                 <ScaleTransform                                    x:Name="AnimatedScaleTransform"                                   CenterX="25" CenterY="50" ScaleX="1" ScaleY="1" />                             </TransformCollection>                         </TransformGroup.Children>                     </TransformGroup>                                      </Polyline.RenderTransform>             </Polyline>         </Canvas>         <Button Name="startButton" Margin="0,0,2,0">Start</Button>         <Button Name="stopButton">Stop</Button>         <StackPanel.Triggers>           <EventTrigger SourceName="startButton" RoutedEvent="Button.Click">             <BeginStoryboard Name="myBeginStoryboard">               <Storyboard>                 <DoubleAnimation Storyboard.TargetName="AnimatedRotateTransform"                   Storyboard.TargetProperty="Angle"                    From="0" To="360" Duration="0:0:5" RepeatBehavior="Forever" />                 <DoubleAnimation                    Storyboard.TargetName="AnimatedScaleTransform"                   Storyboard.TargetProperty="ScaleX"                   From="0" To="3" Duration="0:0:5" RepeatBehavior="Forever"                   AutoReverse="True" />                 <DoubleAnimation                     Storyboard.TargetName="AnimatedScaleTransform"                   Storyboard.TargetProperty="ScaleY"                   From="0" To="3" Duration="0:0:5" RepeatBehavior="Forever"                    AutoReverse="True"/>                         </Storyboard>             </BeginStoryboard>           </EventTrigger>           <EventTrigger SourceName="stopButton" RoutedEvent="Button.Click">             <StopStoryboard BeginStoryboardName="myBeginStoryboard" />           </EventTrigger>                   </StackPanel.Triggers>               </StackPanel>    </Window>