Animates the value of an Object property along a set of KeyFrames over a specified Duration.
Inheritance
- Object
- DependencyObject
- Timeline
- ObjectAnimationUsingKeyFrames
Syntax
<ObjectAnimationUsingKeyFrames>oneOrMoreDiscreteObjectKeyFrames</ObjectAnimationUsingKeyFrames>
XAML Values
- oneOrMoreDiscreteObjectKeyFrames
-
One or more DiscreteObjectKeyFrame object elements that define the key frames for the animation.
Attributes
- ActivatableAttribute(NTDDI_WIN8)
- ContentPropertyAttribute(Name=KeyFrames)
- MarshalingBehaviorAttribute(Agile)
- StaticAttribute(Windows.UI.Xaml.Media.Animation.IObjectAnimationUsingKeyFramesStatics, NTDDI_WIN8)
- ThreadingAttribute(Both)
- VersionAttribute(NTDDI_WIN8)
- WebHostHiddenAttribute()
Members
The ObjectAnimationUsingKeyFrames class has these types of members:
Constructors
The ObjectAnimationUsingKeyFrames class has these constructors.
| Constructor | Description |
|---|---|
| ObjectAnimationUsingKeyFrames | Initializes a new instance of the ObjectAnimationUsingKeyFrames class. |
Events
The ObjectAnimationUsingKeyFrames class has these events.
| Event | Description |
|---|---|
| Completed | Occurs when the Storyboard object has completed playing. (Inherited from Timeline) |
Methods
The ObjectAnimationUsingKeyFrames class has these methods. It also inherits methods from the Object class.
| Method | Description |
|---|---|
| ClearValue | Clears the local value of a dependency property. (Inherited from DependencyObject) |
| GetAnimationBaseValue | Returns any base value established for a dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject) |
| GetValue | Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject) |
| ReadLocalValue | Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject) |
| SetValue | Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject) |
Properties
The ObjectAnimationUsingKeyFrames class has these properties.
| Property | Access type | Description |
|---|---|---|
| Read/write | Gets or sets a value that indicates whether the timeline plays in reverse after it completes a forward iteration. (Inherited from Timeline) | |
| Read/write | Gets or sets the time at which this Timeline should begin. (Inherited from Timeline) | |
| Read-only | Gets the CoreDispatcher that this object is associated with. (Inherited from DependencyObject) | |
| Read/write | Gets or sets the length of time for which this timeline plays, not counting repetitions. (Inherited from Timeline) | |
| Read/write | Gets or sets a value that declares whether animated properties that are considered dependent animations should be permitted to use this animation declaration. | |
| Read-only | Identifies the EnableDependentAnimation dependency property. | |
| Read/write | Gets or sets a value that specifies how the animation behaves after it reaches the end of its active period. (Inherited from Timeline) | |
| Read-only | Gets the collection of ObjectKeyFrame objects that define the animation. | |
| Read/write | Gets or sets the repeating behavior of this timeline. (Inherited from Timeline) | |
| Read/write | Gets or sets the rate, relative to its parent, at which time progresses for this Timeline. (Inherited from Timeline) |
Examples
The following example uses the ObjectAnimationUsingKeyFrames class to animate the Fill property of a Rectangle. This animation uses two key frames in the following manner:
-
Using a DiscreteObjectKeyFrame, the Fill property of the Rectangle suddenly changes to a LinearGradientBrush after the first two seconds of the animation.
-
After the third second of the animation, the Fill property is suddenly changed to a different LinearGradientBrush, which remains until the end of the animation (four seconds total).
<StackPanel> <StackPanel.Resources> <Storyboard x:Name="myStoryboard"> <!-- ObjectAnimationUsingKeyFrames is used to animate properties that take an object as a value. This animation lasts for 4 seconds using 3 KeyFrames which swap different brush objects at regular intervals, making the background of the Page change. --> <ObjectAnimationUsingKeyFrames Storyboard.TargetName="animatedRectangle" Storyboard.TargetProperty="Fill" Duration="0:0:4" RepeatBehavior="Forever"> <ObjectAnimationUsingKeyFrames.KeyFrames> <!-- Note: Only discrete interpolation (DiscreteObjectKeyFrame) is available for use with ObjectAnimationUsingKeyFrames which merely swaps objects according to a specified timeline. Other types of interpolation are too problematic to apply to objects. --> <!-- Using a DiscreteObjectKeyFrame, the Fill property of the Rectangle suddenly changes to a LinearGradientBrush after the first two seconds of the animation. --> <DiscreteObjectKeyFrame KeyTime="0:0:2"> <DiscreteObjectKeyFrame.Value> <LinearGradientBrush> <LinearGradientBrush.GradientStops> <GradientStop Color="Yellow" Offset="0.0" /> <GradientStop Color="Orange" Offset="0.5" /> <GradientStop Color="Red" Offset="1.0" /> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> <!-- After the third second of the animation, the Fill property is suddenly changed to a different LinearGradientBrush which remains until the end of the animation (4 seconds total). --> <DiscreteObjectKeyFrame KeyTime="0:0:3"> <DiscreteObjectKeyFrame.Value> <LinearGradientBrush> <LinearGradientBrush.GradientStops> <GradientStop Color="White" Offset="0.0" /> <GradientStop Color="MediumBlue" Offset="0.5" /> <GradientStop Color="Black" Offset="1.0" /> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames.KeyFrames> </ObjectAnimationUsingKeyFrames> </Storyboard> </StackPanel.Resources> <!-- The Fill property of this rectangle is animated. --> <Rectangle x:Name="animatedRectangle" Loaded="Rectangle_Loaded" Width="300" Height="300" /> </StackPanel>
// When the rectangle loads, begin the animation. private void Rectangle_Loaded(object sender, RoutedEventArgs e) { myStoryboard.Begin(); }
Requirements
|
Minimum supported client | Windows 8 [Windows Store apps only] |
|---|---|
|
Minimum supported server | Windows Server 2012 [Windows Store apps only] |
|
Namespace |
|
|
Metadata |
|
See also
Build date: 12/4/2012