Compartir a través de


InteractionTrackerInertiaRestingValue Clase

Definición

ExpressionAnimation que define la posición de resto después de una interacción.

La clase InteractionTrackerInertiaRestingValue define dos ExpressionAnimations que calculan una posición de reposo explícita para InteractionTracker cuando se cumple una condición determinada. InteractionTrackerInertiaRestingValue se define como dos partes: la instrucción condicional en la que la ubicación de reposo específica de InteractionTracker debe definirse explícitamente si es true y la ecuación que describe una relación matemática que genera la ubicación. Utilice la clase InteractionTrackerInertiaRestingValue cuando necesite asegurarse de que InteractionTracker llega a una ubicación específica después de que se produzca una interacción.

public ref class InteractionTrackerInertiaRestingValue sealed : InteractionTrackerInertiaModifier
/// [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 InteractionTrackerInertiaRestingValue final : InteractionTrackerInertiaModifier
[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 InteractionTrackerInertiaRestingValue : InteractionTrackerInertiaModifier
Public NotInheritable Class InteractionTrackerInertiaRestingValue
Inherits InteractionTrackerInertiaModifier
Herencia
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaRestingValue
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 Anniversary Edition (se introdujo en la versión 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v3.0)

Ejemplos

void MandatorySingleSnapPoints(ContainerVisual containerVisual, Visual contentVisual)
{
  //
  // Set up our inertia modifiers to behave as dmanip's "single mandatory" snap-points, at a
  // regular interval of 50px.
  //

  const float snapPointRange = 50.0f;

  //
  // Configure a "snap-point" to handle upward direction (to previous item).
  //

  var modifier1 = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Add a condition for when this upward “snap-point” applies.
  modifier1.Condition = _compositor.CreateExpressionAnimation(
    "this.Target.NaturalRestingPosition.y < " + 
    "(this.StartingValue - mod(this.StartingValue, snapPointRange) + snapPointRange / 2)");

  modifier1.Condition.SetScalarParameter("snapPointRange", snapPointRange);

  // Configure the resting spot when the condition is met 
  modifier1.EndPoint = _compositor.CreateExpressionAnimation(
    "this.StartingValue - mod(this.StartingValue, snapPointRange)");

  modifier1.EndPoint.SetScalarParameter("snapPointRange", snapPointRange);

  //
  // Configure a "snap-point" to handle downward direction (to next item).
  //

  var modifier2 = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Add a condition for when this downward “snap-point” applies.
  modifier2.Condition = _compositor.CreateExpressionAnimation(
    "this.Target.NaturalRestingPosition.y >= " + 
    "(this.StartingValue - mod(this.StartingValue, snapPointRange) + snapPointRange / 2)");

  modifier2.Condition.SetScalarParameter("snapPointRange", snapPointRange);

  // Configure the resting spot when the condition is met.
  modifier2.EndPoint = _compositor.CreateExpressionAnimation(
    "this.StartingValue + snapPointRange - mod(this.StartingValue, snapPointRange)");

  modifier2.EndPoint.SetScalarParameter("snapPointRange", snapPointRange);

  var modifiers = new InteractionTrackerInertiaRestingValue[] { modifier1, modifier2 };

  //
  // Add our "snap-point" inertia modifiers to the Y position of the InteractionTracker.
  //

  _tracker.ConfigurePositionYInertiaModifiers(modifiers);
}

Comentarios

Al adjuntar el modificador InteractionTrackerInertiaRestingValue a InteractionTracker, se configura en la posición X/Y o la escala.

ExpressionAnimation que define la propiedad condition solo se ejecuta una vez, cuando se completa la interacción (se libera el dedo), mientras que la expresión RestingValue se ejecuta cada fotograma.

Los modificadores InteractionTrackerInertiaRestingValue definen explícitamente la posición de reposo de InteractionTracker cuando se cumple la condición. Sin embargo, no define el movimiento a esta ubicación explícita: el sistema lo controlará. Por lo tanto, si necesita InteractionTracker para tomar un movimiento determinado, pero no lo requiere para llegar a un punto exacto, utilice el modificador InteractionTrackerInertiaMotion .

Propiedades

Comment

Cadena que se va a asociar con compositionObject.

(Heredado de CompositionObject)
Compositor

Compositor que se usa para crear este CompositionObject.

(Heredado de CompositionObject)
Condition

ExpressionAnimation que describe cuándo se debe aplicar el modificador.

La propiedad Condition es una expressionAnimation que define cuándo InteractionTracker debe tener una posición de reposo específica. Esta expresión se ejecuta una vez después de que se produce la interacción y debe resolverse en un tipo Bool; de lo contrario, se producirá un error cuando se evalúe la condición. Consulte la página clase ExpressionAnimation para obtener más detalles sobre la creación de expresiones.

Dispatcher

Distribuidor de CompositionObject.

(Heredado de CompositionObject)
DispatcherQueue

Obtiene dispatcherQueue para CompostionObject.

(Heredado de CompositionObject)
ImplicitAnimations

Colección de animaciones implícitas adjuntas a este objeto.

(Heredado de CompositionObject)
Properties

Colección de propiedades asociadas a CompositionObject.

(Heredado de CompositionObject)
RestingValue

ExpressionAnimation para definir el valor de resting de InteractionTracker si la expresión de la propiedad Condition es true.

La propiedad Resting es una expressionAnimation que describe a dónde se moverá InteractionTracker después de una interacción si se cumple la condición correspondiente. Esta expresión se ejecutará cada fotograma mientras InteractionTracker está en inercia y debe resolverse en un tipo Float; de lo contrario, se producirá un error cuando se evalúe la ecuación. Consulte la página clase ExpressionAnimation para obtener más detalles sobre la creación de expresiones.

Métodos

Close()

Cierra compositionObject y libera los recursos del sistema.

(Heredado de CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Conecta y animación.

(Heredado de CompositionObject)
Create(Compositor)

Crea una instancia de InteractionTrackerInertiaRestingValue.

DisconnectAnimation(String)

Desconecta una animación.

(Heredado de CompositionObject)
Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

(Heredado de CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Define una propiedad que se puede animar.

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation)

Conecta una animación con la propiedad especificada del objeto e inicia la animación.

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Conecta una animación con la propiedad especificada del objeto e inicia la animación.

(Heredado de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Inicia un grupo de animación.

El método StartAnimationGroup en CompositionObject permite iniciar CompositionAnimationGroup. Todas las animaciones del grupo se iniciarán al mismo tiempo en el objeto .

(Heredado de CompositionObject)
StopAnimation(String)

Desconecta una animación de la propiedad especificada y detiene la animación.

(Heredado de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Detiene un grupo de animaciones.

(Heredado de CompositionObject)
TryGetAnimationController(String)

Devuelve un AnimationController para la animación que se ejecuta en la propiedad especificada.

(Heredado de CompositionObject)

Se aplica a

Consulte también