Applies an animation to the specified DependencyProperty. The animation is started when the next frame is rendered. If the specified property is already animated, the SnapshotAndReplace handoff behavior is used. (Inherited from Animatable.)

Applies an animation to the specified DependencyProperty. The animation is started when the next frame is rendered. If the specified property is already animated, the specified HandoffBehavior is used. (Inherited from Animatable.)

Creates a modifiable clone of this DoubleAnimationUsingPath, making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.

Coerces the value of the specified dependency property. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject. (Inherited from DependencyObject.)

Ensures that the Freezable is being accessed from a valid thread. Inheritors of Freezable must call this method at the beginning of any API that reads data members that are not dependency properties. (Inherited from Freezable.)

Raises the Changed event for the Freezable and invokes its OnChanged method. Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties. (Inherited from Freezable.)

Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Freezable inheritors should call this method at the beginning of any API that writes to data members that are not dependency properties. (Inherited from Freezable.)

DoubleAnimationUsingPath is similar to DoubleAnimation except that it uses a PathGeometry to interpolate over two or more values rather then between only two values like DoubleAnimation. Although DoubleAnimation is used for most simple animations involving a Double value, DoubleAnimationUsingPath is particularly well suited for animating the position of an object on the screen.

<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:PresentationOptions="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="PresentationOptions"><Page.Resources><!-- This is the geometry creates the animation path. Because
this example uses it multiple times, it's declared as a resource and
frozen to improve performance. --><PathGeometryx:Key="AnimationPath"Figures="M 10,100 C 35,0 135,0 160,100 180,190 285,200 310,100"PresentationOptions:Freeze="True"/></Page.Resources><CanvasWidth="400"Height="400"><!-- The object to animate. --><RectangleWidth="30"Height="30"Fill="Blue"><Rectangle.RenderTransform><TranslateTransformx:Name="AnimatedTranslateTransform"/></Rectangle.RenderTransform><Rectangle.Triggers><EventTriggerRoutedEvent="Path.Loaded"><BeginStoryboard><StoryboardRepeatBehavior="Forever"><!-- Animates the rectangle horizotally along the path. --><DoubleAnimationUsingPathStoryboard.TargetName="AnimatedTranslateTransform"Storyboard.TargetProperty="X"PathGeometry="{StaticResource AnimationPath}"Source="X"Duration="0:0:5"/><!-- Animates the rectangle vertically along the path. --><DoubleAnimationUsingPathStoryboard.TargetName="AnimatedTranslateTransform"Storyboard.TargetProperty="Y"PathGeometry="{StaticResource AnimationPath}"Source="Y"Duration="0:0:5"/></Storyboard></BeginStoryboard></EventTrigger></Rectangle.Triggers></Rectangle></Canvas></Page>