Share via


StepEasingFunction Class

Definition

A step function for interpolating between animation key frames that advances animations in increments like steps which can be can be defined. Behaviors for initial and final steps can be customized.

public ref class StepEasingFunction sealed : CompositionEasingFunction
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class StepEasingFunction final : CompositionEasingFunction
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class StepEasingFunction : CompositionEasingFunction
Public NotInheritable Class StepEasingFunction
Inherits CompositionEasingFunction
Inheritance
Object Platform::Object IInspectable CompositionObject CompositionEasingFunction StepEasingFunction
Attributes

Windows requirements

Device family
Windows 10 Anniversary Edition (introduced in 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v3.0)

Examples

class StepsEasing
{
  StepsEasing(Compositor compositor, SpriteVisual heroVisual)
  {
    // This step function makes the property offset change in 5 steps
    // i.e. goes from (0,0,0) à (20,20,20) in 5 steps.
    StepEasingFunction steps = compositor.CreateStepEasingFunction(5);

    Vector3KeyFrameAnimation animation = compositor.CreateVector3KeyFrameAnimation();
    animation.InsertKeyFrame(0f, new Vector3(0f,0f,0f));
    animation.InsertKeyFrame(1f, new Vector3(20f,20f,0f), steps);
    animation.Duration = TimeSpan.FromSeconds(2);

    heroVisual.StartAnimation("Offset", animation);
  }
}

Remarks

The step easing function gives more flexibility for animations to advance in increments. Increments are defined using StepCount property. Steps can be customized using InitialStep, and FinalStep. Behavior for initial step can be customized using IsInitialStepSingleFrame and final step using IsFinalStepSingleFrame.

To create a new instance of StepEasingFunction, call one of these methods:

Properties

Comment

A string to associate with the CompositionObject.

(Inherited from CompositionObject)
Compositor

The Compositor used to create this CompositionObject.

(Inherited from CompositionObject)
Dispatcher

The dispatcher for the CompositionObject.

(Inherited from CompositionObject)
DispatcherQueue

Gets the DispatcherQueue for the CompostionObject.

(Inherited from CompositionObject)
FinalStep

The step to end at.

ImplicitAnimations

The collection of implicit animations attached to this object.

(Inherited from CompositionObject)
InitialStep

The step to start at.

IsFinalStepSingleFrame

Indicates whether the final step should last the smallest possible duration.

IsInitialStepSingleFrame

Indicates whether the initial step should last the smallest possible duration.

Properties

The collection of properties associated with the CompositionObject.

(Inherited from CompositionObject)
StepCount

The number of steps between the starting value and the end value.

Methods

Close()

Closes the CompositionObject and releases system resources.

(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)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Defines a property that can be animated.

(Inherited from CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

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

(Inherited from CompositionObject)
StartAnimation(String, CompositionAnimation)

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

(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.

(Inherited from CompositionObject)
StopAnimation(String)

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

(Inherited from CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Stops an animation group.

(Inherited from CompositionObject)
TryGetAnimationController(String)

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

(Inherited from CompositionObject)

Applies to

See also