<Canvas Width="400" Height="300"> <Canvas.Resources> <Storyboard x:Name="storyboard"> <PointAnimationUsingKeyFrames Storyboard.TargetName="ellipseGeometry" Storyboard.TargetProperty="Center" Duration="0:0:5" RepeatBehavior="Forever"> <!-- Over the first second, Using a LinearPointKeyFrame, the ellipse moves steadily from its starting position along the first line of the trianglar path.--> <LinearPointKeyFrame KeyTime="0:0:1" Value="100,300"/> <!-- Using a DiscretePointKeyFrame, the ellipse suddenly changes position after the fourth second of the animation. --> <DiscretePointKeyFrame KeyTime="0:0:3" Value="400,300"/> <!-- Using a SplinePointKeyFrame, the ellipse moves back to its starting position. It moves slowly at first and then speeds up. This key frame takes 2 seconds to complete. --> <SplinePointKeyFrame KeyTime="0:0:5" Value="200,100" KeySpline="0.6,0.0 0.9,0.0"/> </PointAnimationUsingKeyFrames> </Storyboard> </Canvas.Resources> <Path Fill="Blue" Loaded="Start_Animation"> <Path.Data> <EllipseGeometry x:Name="ellipseGeometry" Center="200,100" RadiusX="15" RadiusY="15"/> </Path.Data> </Path> </Canvas>