Freigeben über


InteractionTrackerInertiaRestingValue Klasse

Definition

Eine ExpressionAnimation , die die Ruheposition nach einer Interaktion definiert.

Die InteractionTrackerInertiaRestingValue-Klasse definiert zwei ExpressionAnimations, die eine explizite Ruheposition für InteractionTracker berechnen, wenn eine bestimmte Bedingung erfüllt ist. InteractionTrackerInertiaRestingValue ist als zwei Teile definiert: Die bedingte Anweisung, in der der spezifische Ruheort des InteractionTracker explizit definiert werden muss, wenn true, und die Gleichung, die eine mathematische Beziehung beschreibt, die die Position ausgibt. Verwenden Sie die InteractionTrackerInertiaRestingValue-Klasse, wenn Sie sicherstellen müssen, dass InteractionTracker nach einer Interaktion an einem bestimmten Ort landet.

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
Vererbung
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaRestingValue
Attribute

Beispiele

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

Hinweise

Wenn Sie den InteractionTrackerInertiaRestingValue-Modifizierer an den InteractionTracker anfügen, konfigurieren Sie ihn entweder für die X/Y-Position oder die Skalierung.

Die ExpressionAnimation , die die Bedingungseigenschaft definiert, wird nur einmal ausgeführt, wenn die Interaktion abgeschlossen ist (finger losgelassen), während der RestingValue-Ausdruck jeden Frame ausgeführt wird.

InteractionTrackerInertiaRestingValue-Modifizierer definiert explizit die Ruheposition von InteractionTracker , wenn die Bedingung erfüllt ist. Es definiert jedoch nicht die Bewegung an diesen expliziten Ort – das System wird dies verarbeiten. Wenn Sie also InteractionTracker benötigen, um eine bestimmte Bewegung aufzunehmen, aber nicht an einer genauen Stelle landen müssen, verwenden Sie den InteractionTrackerInertiaMotion-Modifizierer .

Eigenschaften

Comment

Eine Zeichenfolge, die dem CompositionObject zugeordnet werden soll.

(Geerbt von CompositionObject)
Compositor

Der Compositor , der zum Erstellen dieses CompositionObject verwendet wird.

(Geerbt von CompositionObject)
Condition

Eine ExpressionAnimation , die beschreibt, wann der Modifizierer angewendet werden soll.

Die Condition-Eigenschaft ist eine ExpressionAnimation , die definiert, wann der InteractionTracker eine bestimmte Ruheposition haben soll. Dieser Ausdruck wird einmal nach dem Auftreten der Interaktion ausgeführt und muss in den Typ Bool aufgelöst werden. Andernfalls wird bei der Auswertung der Bedingung ein Fehler ausgelöst. Weitere Informationen zum Erstellen von Ausdrücken finden Sie auf der Seite ExpressionAnimation-Klasse .

DispatcherQueue

Ruft den DispatcherQueue für das CompositionObject ab.

(Geerbt von CompositionObject)
ImplicitAnimations

Die Auflistung impliziter Animationen, die diesem Objekt angefügt sind.

(Geerbt von CompositionObject)
Properties

Die Auflistung von Eigenschaften, die dem CompositionObject zugeordnet sind.

(Geerbt von CompositionObject)
RestingValue

Eine ExpressionAnimation zum Definieren des Ruhewerts von InteractionTracker , wenn der Ausdruck in der Condition-Eigenschaft true ist.

Die Resting-Eigenschaft ist eine ExpressionAnimation , die beschreibt, wohin InteractionTracker nach einer Interaktion verschoben wird, wenn die entsprechende Bedingung erfüllt ist. Dieser Ausdruck wird in jedem Frame ausgeführt, während InteractionTracker sich in derTia befindet und in den Typ Float aufgelöst werden muss. Andernfalls wird bei der Auswertung der Gleichung ein Fehler ausgelöst. Weitere Informationen zum Erstellen von Ausdrücken finden Sie auf der Seite ExpressionAnimation-Klasse .

Methoden

Close()

Schließt das CompositionObject und gibt Systemressourcen frei.

(Geerbt von CompositionObject)
Create(Compositor)

Erstellt eine instance von InteractionTrackerInertiaRestingValue.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definiert eine Eigenschaft, die animiert werden kann.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Startet eine Animationsgruppe.

Mit der StartAnimationGroup-Methode für CompositionObject können Sie CompositionAnimationGroup starten. Alle Animationen in der Gruppe werden gleichzeitig für das Objekt gestartet.

(Geerbt von CompositionObject)
StopAnimation(String)

Trennt eine Animation von der angegebenen Eigenschaft und beendet die Animation.

(Geerbt von CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Beendet eine Animationsgruppe.

(Geerbt von CompositionObject)
TryGetAnimationController(String)

Gibt einen AnimationController für die Animation zurück, die für die angegebene Eigenschaft ausgeführt wird.

(Geerbt von CompositionObject)

Gilt für:

Weitere Informationen