ColorKeyFrameAnimation Class

Definition

A time-based animation that targets the Color property with one or more color key frames.

The ColorKeyFrameAnimation class is one of the supported types of KeyFrameAnimation s that is used to animate the Color property off of the Brush property on a SpriteVisual. When working with ColorKeyFrameAnimation s, utilize Windows.UI.Color objects for the values of keyframes. Utilize the InterpolationColorSpace property to define which color space the system will interpolate through for the animation.

Equivalent WinUI class: Microsoft.UI.Composition.ColorKeyFrameAnimation.

public ref class ColorKeyFrameAnimation sealed : KeyFrameAnimation
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ColorKeyFrameAnimation final : KeyFrameAnimation
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ColorKeyFrameAnimation : KeyFrameAnimation
Public NotInheritable Class ColorKeyFrameAnimation
Inherits KeyFrameAnimation
Inheritance
Attributes

Windows 10 requirements

Device family
Windows 10 (introduced in 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v2.0)

Examples

void ColorAnimation(SpriteVisual visual)
{
  // Create the ColorKeyFrameAnimation
  var colorAnimation = _compositor.CreateColorKeyFrameAnimation();

  // Create the KeyFrames using Windows.UI.Color objects
  colorAnimation.InsertKeyFrame(0.5f, Colors.Purple);
  colorAnimation.InsertKeyFrame(1.0f, Colors.Cyan);

  // Set the interpolation to go through the HSL space
  colorAnimation.InterpolationColorSpace = CompositionColorSpace.Hsl;
  colorAnimation.Duration = TimeSpan.FromSeconds(3);

  // Apply the cubic-bezier to a KeyFrame
  visual.Brush.StartAnimation("Color", colorAnimation);
}

Remarks

Use the CompostionObject.StartAnimation and CompostionObject.StopAnimation methods to start and stop the animation.

An animation is associated with an object's property by calling CompositionObject.StartAnimation and specifying the property name and the animation. See the remarks section of CompositionObject.StartAnimation for a list of animatable properties.

Properties

Comment

A string to associate with the CompositionObject.

Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.Comment.

(Inherited from CompositionObject)
Compositor

The Compositor used to create this CompositionObject.

Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.Compositor.

(Inherited from CompositionObject)
DelayBehavior

The delay behavior of the key frame animation.

Equivalent WinUI property: Microsoft.UI.Composition.KeyFrameAnimation.DelayBehavior.

(Inherited from KeyFrameAnimation)
DelayTime

Delay before the animation starts after CompositionObject.StartAnimation is called.

Equivalent WinUI property: Microsoft.UI.Composition.KeyFrameAnimation.DelayTime.

(Inherited from KeyFrameAnimation)
Direction

The direction the animation is playing.

The Direction property allows you to drive your animation from start to end or end to start or alternate between start and end or end to start if animation has an IterationCount greater than one. This gives an easy way for customizing animation definitions.

Equivalent WinUI property: Microsoft.UI.Composition.KeyFrameAnimation.Direction.

(Inherited from KeyFrameAnimation)
Dispatcher

The dispatcher for the CompositionObject.

(Inherited from CompositionObject)
DispatcherQueue

Gets the DispatcherQueue for the CompostionObject.

Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.DispatcherQueue.

(Inherited from CompositionObject)
Duration

The duration of the animation.

Equivalent WinUI property: Microsoft.UI.Composition.KeyFrameAnimation.Duration.

(Inherited from KeyFrameAnimation)
ImplicitAnimations

The collection of implicit animations attached to this object.

Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.ImplicitAnimations.

(Inherited from CompositionObject)
InitialValueExpressions

Gets the initial values for the animation.

Equivalent WinUI property: Microsoft.UI.Composition.CompositionAnimation.InitialValueExpressions.

(Inherited from CompositionAnimation)
InterpolationColorSpace

The color space the color interpolation should run through.

The ColorKeyFrameAnimation.InterpolationColorSpace property enables a developer to choose what color space the system will interpolate through when animating between two colors. Developers can choose between the CompositionColorSpace enum values Rgb, Hsl, or Auto (system chosen).

Equivalent WinUI property: Microsoft.UI.Composition.ColorKeyFrameAnimation.InterpolationColorSpace.

IterationBehavior

The iteration behavior for the key frame animation.

Equivalent WinUI property: Microsoft.UI.Composition.KeyFrameAnimation.IterationBehavior.

(Inherited from KeyFrameAnimation)
IterationCount

The number of times to repeat the key frame animation.

Equivalent WinUI property: Microsoft.UI.Composition.KeyFrameAnimation.IterationCount.

(Inherited from KeyFrameAnimation)
KeyFrameCount

The number of key frames in the KeyFrameAnimation.

Equivalent WinUI property: Microsoft.UI.Composition.KeyFrameAnimation.KeyFrameCount.

(Inherited from KeyFrameAnimation)
Properties

The collection of properties associated with the CompositionObject.

Equivalent WinUI property: Microsoft.UI.Composition.CompositionObject.Properties.

(Inherited from CompositionObject)
StopBehavior

Specifies how to set the property value when StopAnimation is called.

Equivalent WinUI property: Microsoft.UI.Composition.KeyFrameAnimation.StopBehavior.

(Inherited from KeyFrameAnimation)
Target

The target of the animation.

Equivalent WinUI property: Microsoft.UI.Composition.CompositionAnimation.Target.

(Inherited from CompositionAnimation)

Methods

ClearAllParameters()

Clears all of the parameters of the animation.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.ClearAllParameters.

(Inherited from CompositionAnimation)
ClearParameter(String)

Clears a parameter from the animation.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.ClearParameter.

(Inherited from CompositionAnimation)
Close()

Closes the CompositionObject and releases system resources.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.Close.

(Inherited from CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Connects and animation.

(Inherited from CompositionObject)
DisconnectAnimation(String)

Disconnects an animation.

(Inherited from CompositionObject)
Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Inherited from CompositionObject)
InsertExpressionKeyFrame(Single, String)

Inserts an expression key frame.

Equivalent WinUI method: Microsoft.UI.Composition.KeyFrameAnimation.InsertExpressionKeyFrame.

(Inherited from KeyFrameAnimation)
InsertExpressionKeyFrame(Single, String, CompositionEasingFunction)

Inserts an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.KeyFrameAnimation.InsertExpressionKeyFrame.

(Inherited from KeyFrameAnimation)
InsertKeyFrame(Single, Color)

Inserts a key frame.

Equivalent WinUI method: Microsoft.UI.Composition.ColorKeyFrameAnimation.InsertKeyFrame.

InsertKeyFrame(Single, Color, CompositionEasingFunction)

Inserts a key frame with the specified easing function.

Equivalent WinUI method: Microsoft.UI.Composition.ColorKeyFrameAnimation.InsertKeyFrame.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Defines a property that can be animated.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.PopulatePropertyInfo.

(Inherited from CompositionObject)
SetBooleanParameter(String, Boolean)

Sets a boolean value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetBooleanParameter.

(Inherited from CompositionAnimation)
SetColorParameter(String, Color)

Sets a Color value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetColorParameter.

(Inherited from CompositionAnimation)
SetExpressionReferenceParameter(String, IAnimationObject)

Sets an IAnimationObject value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetExpressionReferenceParameter.

(Inherited from CompositionAnimation)
SetMatrix3x2Parameter(String, Matrix3x2)

Sets a Matrix3x2 value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetMatrix3x2Parameter.

(Inherited from CompositionAnimation)
SetMatrix4x4Parameter(String, Matrix4x4)

Sets a Matrix4x4 value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetMatrix4x4Parameter.

(Inherited from CompositionAnimation)
SetQuaternionParameter(String, Quaternion)

Sets a Quaternion value for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetQuaternionParameter.

(Inherited from CompositionAnimation)
SetReferenceParameter(String, CompositionObject)

Sets a reference to a Composition object for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetReferenceParameter.

(Inherited from CompositionAnimation)
SetScalarParameter(String, Single)

Sets a Scalar value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetScalarParameter.

(Inherited from CompositionAnimation)
SetVector2Parameter(String, Vector2)

Sets a Vector2 value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetVector2Parameter.

(Inherited from CompositionAnimation)
SetVector3Parameter(String, Vector3)

Sets a Vector3 value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetVector3Parameter.

(Inherited from CompositionAnimation)
SetVector4Parameter(String, Vector4)

Sets a Vector4 value parameter for use with an ExpressionAnimation or an expression keyframe.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionAnimation.SetVector4Parameter.

(Inherited from CompositionAnimation)
StartAnimation(String, CompositionAnimation)

Connects an animation with the specified property of the object and starts the animation.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.StartAnimation.

(Inherited from CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Starts an animation group.

The StartAnimationGroup method on CompositionObject lets you start CompositionAnimationGroup. All the animations in the group will be started at the same time on the object.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.StartAnimationGroup.

(Inherited from CompositionObject)
StopAnimation(String)

Disconnects an animation from the specified property and stops the animation.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.StopAnimation.

(Inherited from CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Stops an animation group.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.StopAnimationGroup.

(Inherited from CompositionObject)
TryGetAnimationController(String)

Returns an AnimationController for the animation running on the specified property.

Equivalent WinUI method: Microsoft.UI.Composition.CompositionObject.TryGetAnimationController.

(Inherited from CompositionObject)

Applies to

See also