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