Condividi tramite


InteractionTrackerInertiaRestingValue Classe

Definizione

EspressioneAnimation che definisce la posizione rimanente dopo un'interazione.

La classe InteractionTrackerInertiaRestingValue definisce due expressionAnimationche 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 impostato su una posizione specifica dopo che si verifica un'interazione.

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

Requisiti Windows

Famiglia di dispositivi
Windows 10 Anniversary Edition (è stato introdotto in 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v3.0)

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 a InteractionTracker, è possibile configurarlo in base alla posizione X/Y o alla scala.

ExpressionAnimation che definisce la proprietà condition viene eseguita una sola volta, quando l'interazione viene completata (rilasciata dal dito), mentre restingValue Expression viene eseguita ogni fotogramma.

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 lo gestirà. Pertanto, se è necessario InteractionTracker per eseguire 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

Compositor utilizzato per creare questo 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 sola volta dopo l'interazione e deve essere risolta in un tipo Bool. In caso contrario, viene generato un errore quando la condizione viene valutata. Per altri dettagli sulla creazione di espressioni, vedere la pagina della classe ExpressionAnimation .

Dispatcher

Dispatcher per CompositionObject.

(Ereditato da CompositionObject)
DispatcherQueue

Ottiene dispatcherQueue per CompostionObject.

(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 rimanente 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 la condizione corrispondente. Questa espressione verrà eseguita ogni fotogramma mentre InteractionTracker è in inerzia e deve essere risolta in un tipo Float. In caso contrario, viene generato un errore quando viene valutata l'equazione. Per altri dettagli sulla creazione di espressioni, vedere la pagina della classe ExpressionAnimation .

Metodi

Close()

Chiude CompositionObject e rilascia le risorse di sistema.

(Ereditato da CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Connette e animazione.

(Ereditato da CompositionObject)
Create(Compositor)

Crea un'istanza di InteractionTrackerInertiaRestingValue.

DisconnectAnimation(String)

Disconnette un'animazione.

(Ereditato da CompositionObject)
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 nel 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 sulla proprietà specificata.

(Ereditato da CompositionObject)

Si applica a

Vedi anche