Share via


OpacityAnimation Class

Definition

Provides methods that enable you to retrieve the parameters of an opacity (fade in or fade out) animation.

public ref class OpacityAnimation sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.UI.Core.AnimationMetrics.AnimationMetricsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class OpacityAnimation final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.UI.Core.AnimationMetrics.AnimationMetricsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class OpacityAnimation
Public NotInheritable Class OpacityAnimation
Inheritance
Object Platform::Object IInspectable OpacityAnimation
Attributes
Implements

Windows requirements

Device family
Windows Desktop Extension SDK (introduced in 10.0.10240.0)
API contract
Windows.UI.Core.AnimationMetrics.AnimationMetricsContract (introduced in v1.0)

Examples

To obtain an instance of the OpacityAnimation class, you first obtain the collection of animations in the animation description, and then walk that array of animations to find any that are of type opacity. The following example shows this process. The effect and target parameters are assumed to have been previously assigned.

using Windows.UI.Core.AnimationMetrics;

AnimationDescription animationDescription = new AnimationDescription(effect, target);
foreach (var animation in animationDescription.Animations)
{
    switch (animation.Type)
    {
        case PropertyAnimationType.Scale:
            {
                ScaleAnimation scale = animation as ScaleAnimation;
                // Retrieve scale animation metrics.
            }
            break;
        case PropertyAnimationType.Translation:
            {
                TranslationAnimation scale = animation as TranslationAnimation;
                // Retrieve translation animation metrics.
            }
            break;
        case PropertyAnimationType.Opacity:
            {
                OpacityAnimation opacity = animation as OpacityAnimation;
                // Retrieve opacity animation metrics.
            }
            break;
    }
}

Remarks

The timing controls Control1 and Control2 specify the location of the first and second control points of a cubic Bézier curve. These two points have the same meaning as they do in the CSS transition-timing-function property. Control point zero is always (0,0) and control point three is always (1,1). The coordinates of Control1 and Control2 are always in the range 0 to 1, inclusive.

On the resulting Bézier curve, the x-coordinate represents time and the y-coordinate represents progress. The raw curve from (0,0) to (1,1) is scaled to match the actual duration and range of the animated transition, such that x=0 is the starting time of the transform, x=1 is the ending time, y=0 is the initial value of the animated property, and y=1 is the final value. Values of x and y between 0 and 1 represent corresponding intermediate values of time and the animation.

Properties

Control1

Gets the location of the first control point for the cubic Bézier curve that describes how the opacity should animate over time.

Control2

Gets the location of the second control point for the cubic Bézier curve that describes how the opacity should animate over time.

Delay

Gets the amount of time between when the opacity animation is instructed to begin and when that animation actually begins to draw.

Duration

Gets the amount of time over which the opacity animation should be performed. This does not include the delay.

FinalOpacity

Gets the object's final opacity.

InitialOpacity

Gets the object's initial opacity.

Type

Gets the type of animation represented by this object.

Applies to

See also