TranslationAnimation
TranslationAnimation
TranslationAnimation
TranslationAnimation
Class
Definition
Provides methods that enable you to retrieve the parameters for a translation (move to a new location) animation.
public : sealed class TranslationAnimation : IPropertyAnimationpublic sealed class TranslationAnimation : IPropertyAnimationPublic NotInheritable Class TranslationAnimation Implements IPropertyAnimation// You can use this class in JavaScript.
- Attributes
| Device family |
Windows Desktop Extension SDK (introduced v10.0.10240.0)
|
| API contract |
Windows.UI.Core.AnimationMetrics.AnimationMetricsContract (introduced v1)
|
Examples
To obtain an instance of the TranslationAnimation 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 translation. The following examples shows this process. The effect and target parameters are assumed to have been previously assigned.
var animationDescription = new Windows.UI.Core.AnimationMetrics.AnimationDescription(effect, target);
var animations = animationDescription.animations;
for (var i = 0; i < animations.size; i++) {
var animation = animations[i];
switch (animation.type) {
case animationMetrics.PropertyAnimationType.scale:
// Retrieve scale animation metrics
break;
case animationMetrics.PropertyAnimationType.translation:
// Retrieve translation animation metrics
break;
case animationMetrics.PropertyAnimationType.opacity:
// Retrieve scale animation metrics
break;
}
}
The following example shows the C# version of the same code.
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
To execute a translation animation, shift the item's position from its current location to its final location (the location of the object after the change in layout) according to the timing information provided through the methods of this interface.
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 Control1 Control1 Control1
Gets the location of the first control point for the cubic Bézier curve that describes how the translation should animate over time.
public : Point Control1 { get; }public Point Control1 { get; }Public ReadOnly Property Control1 As Point// You can use this property in JavaScript.
- See Also
Control2 Control2 Control2 Control2
Gets the location of the second control point for the cubic Bézier curve that describes how the translation should animate over time.
public : Point Control2 { get; }public Point Control2 { get; }Public ReadOnly Property Control2 As Point// You can use this property in JavaScript.
- See Also
Delay Delay Delay Delay
Gets the amount of time between when the translation animation is instructed to begin and when that animation actually begins to draw.
public : TimeSpan Delay { get; }public TimeSpan Delay { get; }Public ReadOnly Property Delay As TimeSpan// You can use this property in JavaScript.
- Value
- TimeSpan TimeSpan TimeSpan TimeSpan
The amount of time to delay before starting the translation animation.
Remarks
This delay is in addition to any StaggerDelay applied to the parent AnimationDescription. For instance, if a transition is scheduled through the application of StaggerDelay and StaggerDelayFactor to begin at time t=200 ms and this delay is set to 250 ms, then the transition will actually begin to animate at 450 ms.
- See Also
Duration Duration Duration Duration
Gets the amount of time over which the translation animation should be performed. This does not include the delay.
public : TimeSpan Duration { get; }public TimeSpan Duration { get; }Public ReadOnly Property Duration As TimeSpan// You can use this property in JavaScript.
- Value
- TimeSpan TimeSpan TimeSpan TimeSpan
The duration of the animation.
Remarks
The duration can be 0, in which case the object instantly jumps to its final position and no animation is shown.
- See Also
Type Type Type Type
Gets the type of animation represented by this object.
public : PropertyAnimationType Type { get; }public PropertyAnimationType Type { get; }Public ReadOnly Property Type As PropertyAnimationType// You can use this property in JavaScript.
One of the animation type values.
Remarks
The PropertyAnimation object can be cast to the derived object described by its type. See PropertyAnimationType for a list of types and their corresponding objects.
- See Also