Mega Code Archive

 
Categories / C# / WPF
 

Path animation by code, duration, RepeatBehavior

<Window x:Class="WpfApplication1.PathAnimationExample"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   Title="Path Animation" Height="500" Width="518">     <Canvas Margin="5">         <Path Stroke="LightBlue">             <Path.Data>                 <PathGeometry x:Name="path1"           Figures="M10,10 C75,20 300,20 200,120 220,220 300,220 350, 400 325,20 220,20 200,120 175,220 75,200 50,120" />             </Path.Data>         </Path>         <Path Stroke="DarkGoldenrod">             <Path.Fill>                 <RadialGradientBrush>                     <GradientStop Color="Gold" Offset="0" />                     <GradientStop Color="DarkGoldenrod" Offset="1" />                 </RadialGradientBrush>             </Path.Fill>             <Path.Data>                 <EllipseGeometry x:Name="circle1" Center="50,120" RadiusX="10" RadiusY="10" />             </Path.Data>         </Path>     </Canvas> </Window> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace WpfApplication1 {     public partial class PathAnimationExample : Window     {         public PathAnimationExample()         {             InitializeComponent();             path1.Freeze(); // For performance benefits.              PointAnimationUsingPath pa = new PointAnimationUsingPath();             pa.PathGeometry = path1;             pa.Duration = TimeSpan.FromSeconds(5);             pa.RepeatBehavior = RepeatBehavior.Forever;             circle1.BeginAnimation(EllipseGeometry.CenterProperty, pa);         }     } }