Abstract class that, when implemented, animates a Double value.
Assembly: PresentationCore (in PresentationCore.dll)
Gets or sets a value that indicates whether the timeline plays in reverse after it completes a forward iteration. (Inherited from Timeline.)
Gets a value that indicates whether the object can be made unmodifiable. (Inherited from Freezable.)
Gets or sets the length of time for which this timeline plays, not counting repetitions. (Inherited from Timeline.)
Gets a value that indicates whether the object is currently modifiable. (Inherited from Freezable.)
Gets a value that indicates whether this instance is currently sealed (read-only).(Inherited from DependencyObject.)
Gets or sets the repeating behavior of this timeline. (Inherited from Timeline.)
Gets the type of value this animation generates.(Overrides AnimationTimeline.TargetPropertyType.)
Occurs when this timeline has completely finished playing: it will no longer enter its active period. (Inherited from Timeline.)
Occurs when the rate at which time progresses for the timeline's clock changes.(Inherited from Timeline.)
Occurs when the clock created for this timeline or one of its parent timelines is removed.(Inherited from Timeline.)
Notes to Inheritors:
See the Custom Animations Overview for information about extending animation classes.
The following code example demonstrates how to use the derived DoubleAnimationUsingKeyFrames class using Extensible Application Markup Language (XAML).
<!-- This example shows how to use the DoubleAnimationUsingKeyFrames to create an animation on the Canvas.Left attached property of a rectangle. --> <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="myRootElement" WindowTitle="KeyFrame Animations"> <!-- Key frame animations enable you to create complex animations by specifying multiple destination values and controlling the animation's interpolation method. --> <Canvas> <!-- The position of this rectangle is animated using a key frame animation. --> <Rectangle Name="myRectangle" Canvas.Top="100" Canvas.Left="10" Height="100" Width="100" Stroke="Black" StrokeThickness="5"> <Rectangle.Triggers> <EventTrigger RoutedEvent="Rectangle.Loaded"> <BeginStoryboard> <Storyboard RepeatBehavior="Forever"> <!-- Animate Canvas.Left attached property using 3 KeyFrames which animates the rectangle along a path. This animation repeats indefinitely. --> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="myRectangle" Storyboard.TargetProperty="(Canvas.Left)"> <DoubleAnimationUsingKeyFrames.KeyFrames> <!-- Using a LinearDoubleKeyFrame, the rectangle moves steadily from its starting position to 500 over the first 3 seconds. --> <LinearDoubleKeyFrame Value="500" KeyTime="0:0:3" /> <!-- Using a DiscreteDoubleKeyFrame, the rectangle suddenly appears at 500 after the fourth second of the animation. --> <DiscreteDoubleKeyFrame Value="400" KeyTime="0:0:4" /> <!-- Using a SplineDoubleKeyFrame, the rectangle moves back to its starting point. The animation starts out slowly at first and then speeds up. This KeyFrame ends after the 6th second. --> <SplineDoubleKeyFrame KeySpline="0.6,0.0 0.9,0.00" Value="10" KeyTime="0:0:6" /> </DoubleAnimationUsingKeyFrames.KeyFrames> </DoubleAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Rectangle.Triggers> </Rectangle> </Canvas> </Page>
Available since 3.0
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.