<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); } } }