Condividi tramite


InteractionTrackerInertiaRestingValue Classe

Definizione

EspressioneAnimation che definisce la posizione di riposo dopo un'interazione.

La classe InteractionTrackerInertiaRestingValue definisce due espressioniAnimationche calcolano una posizione di riposo esplicita per InteractionTracker quando viene soddisfatta una determinata condizione. InteractionTrackerInertiaRestingValue è definito come due parti: l'istruzione condizionale in cui la posizione di riposo specifica di InteractionTracker deve essere definita in modo esplicito se true e l'equazione che descrive una relazione matematica che restituisce la posizione. Utilizzare la classe InteractionTrackerInertiaRestingValue quando è necessario assicurarsi che InteractionTracker venga terminata in una posizione specifica dopo che si verifica un'interazione.

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
Ereditarietà
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaRestingValue
Attributi

Esempio

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);
}

Commenti

Quando si collega il modificatore InteractionTrackerInertiaRestingValue all'InteractionTracker, viene configurato in Posizione X/Y o Scala.

ExpressionAnimation che definisce la proprietà condition viene eseguita una sola volta, quando l'interazione viene completata (rilasciata da dito), mentre l'espressione RestingValue viene eseguita ogni frame.

I modificatori interactionTrackerInertiaRestingValue definiscono in modo esplicito la posizione di riposo di InteractionTracker quando viene soddisfatta la condizione. Non definisce tuttavia il movimento in questa posizione esplicita: il sistema gestirà tale posizione. Pertanto, se è necessario InteractionTracker per prendere un particolare movimento, ma non richiede che venga atterrato in un punto esatto, utilizzare il modificatore InteractionTrackerInertiaMotion .

Proprietà

Comment

Stringa da associare a CompositionObject.

(Ereditato da CompositionObject)
Compositor

Compositore usato per creare questo oggetto CompositionObject.

(Ereditato da CompositionObject)
Condition

EspressioneAnimation che descrive quando deve essere applicato il modificatore.

La proprietà Condition è un'espressioneAnimation che definisce quando InteractionTracker deve avere una posizione di riposo specifica. Questa espressione viene eseguita una volta dopo l'interazione e deve essere risolta in un tipo Bool, in caso contrario, viene generato un errore quando viene valutata la condizione. Per altre informazioni sulla compilazione delle espressioni, vedere la pagina della classe ExpressionAnimation .

DispatcherQueue

Ottiene DispatcherQueue per CompositionObject.

(Ereditato da CompositionObject)
ImplicitAnimations

Raccolta di animazioni implicite associate a questo oggetto.

(Ereditato da CompositionObject)
Properties

Raccolta di proprietà associate a CompositionObject.

(Ereditato da CompositionObject)
RestingValue

EspressioneAnimation per definire il valore di resting di InteractionTracker se l'espressione nella proprietà Condition è true.

La proprietà Resting è un'espressioneAnimation che descrive dove InteractionTracker passerà dopo un'interazione se viene soddisfatta una condizione corrispondente. Questa espressione verrà eseguita ogni frame mentre InteractionTracker si trova in Inertia e deve essere risolta in un tipo Float, in caso contrario verrà generato un errore quando viene valutata l'equazione. Per altre informazioni sulla compilazione delle espressioni, vedere la pagina della classe ExpressionAnimation .

Metodi

Close()

Chiude l'oggetto CompositionObject e rilascia le risorse di sistema.

(Ereditato da CompositionObject)
Create(Compositor)

Crea un'istanza di InteractionTrackerInertiaRestingValue.

Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

(Ereditato da CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definisce una proprietà che può essere animata.

(Ereditato da CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione.

(Ereditato da CompositionObject)
StartAnimation(String, CompositionAnimation)

Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione.

(Ereditato da CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Avvia un gruppo di animazioni.

Il metodo StartAnimationGroup in CompositionObject consente di avviare CompositionAnimationGroup. Tutte le animazioni del gruppo verranno avviate contemporaneamente sull'oggetto.

(Ereditato da CompositionObject)
StopAnimation(String)

Disconnette un'animazione dalla proprietà specificata e arresta l'animazione.

(Ereditato da CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Arresta un gruppo di animazioni.

(Ereditato da CompositionObject)
TryGetAnimationController(String)

Restituisce un oggetto AnimationController per l'animazione in esecuzione nella proprietà specificata.

(Ereditato da CompositionObject)

Si applica a

Vedi anche