Compartir a través de


InteractionTrackerInertiaRestingValue Clase

Definición

ExpresiónAnimation 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(Microsoft.Foundation.LiftedContract, 65536)]
/// [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.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class InteractionTrackerInertiaRestingValue final : InteractionTrackerInertiaModifier
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTrackerInertiaRestingValue : InteractionTrackerInertiaModifier
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class InteractionTrackerInertiaRestingValue : InteractionTrackerInertiaModifier
Public NotInheritable Class InteractionTrackerInertiaRestingValue
Inherits InteractionTrackerInertiaModifier
Herencia
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaRestingValue
Atributos

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 al Objeto InteractionTracker, lo 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 aterrizar en un punto exacto, utilice el modificador InteractionTrackerInertiaMotion .

Propiedades

Comment

Cadena que se va a asociar con CompositionObject.

(Heredado de CompositionObject)
Compositor

Compositor usado para crear este CompositionObject.

(Heredado de CompositionObject)
Condition

ExpresiónAnimation 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 de la clase ExpressionAnimation para obtener más detalles sobre la creación de expresiones.

DispatcherQueue

Obtiene dispatcherQueue para CompositionObject.

(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

ExpresiónAnimation para definir el valor de reposo de InteractionTracker si la expresión de la propiedad Condition es true.

La propiedad Resting es una expresiónAnimation que describe 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 de la 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)
Create(Compositor)

Crea una instancia de InteractionTrackerInertiaRestingValue.

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, AnimationController)

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

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation)

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 le 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 animación.

(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