InteractionTracker Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Behandelt die Logik der Eingabe, die als Ziele in ExpressionAnimations verwendet werden kann – in der Regel, um die Bewegung visueller Elemente basierend auf der Eingabe zu steuern.
public ref class InteractionTracker sealed : CompositionObject
/// [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 InteractionTracker final : CompositionObject
/// [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 InteractionTracker final : CompositionObject
[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 InteractionTracker : CompositionObject
[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 InteractionTracker : CompositionObject
Public NotInheritable Class InteractionTracker
Inherits CompositionObject
- Vererbung
- Attribute
Beispiele
void SetupSimpleInteractionTracker(Visual viewportVisual, Visual contentVisual)
{
//
// Create the InteractionTracker and set its min/max position and scale. These could
// also be bound to expressions. Note: The scrollable area can be changed from either
// the min or the max position to facilitate content updates/virtualization.
//
_tracker = InteractionTracker.Create(_compositor);
_tracker.MaxPosition = new Vector3(
contentVisual.Size.X - viewportVisual.Size.X,
contentVisual.Size.Y - viewportVisual.Size.Y,
0.0f);
_tracker.MinScale = 0.5f;
_tracker.MaxScale = 4.0f;
//
// Configure the interaction source. Enable input with inertia on all axes.
//
var interactionSource = VisualInteractionSource.Create(viewportVisual);
interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
interactionSource.ScaleSourceMode = InteractionSourceMode.EnabledWithInertia;
_tracker.InteractionSources.Add(interactionSource);
//
// Bind the InteractionTracker outputs to the contentVisual.
//
var positionExpression = _compositor.CreateExpressionAnimation("-tracker.Position");
positionExpression.SetReferenceParameter("tracker", _tracker);
contentVisual.StartAnimation("Offset", positionExpression);
var scaleExpression = _compositor.CreateExpressionAnimation("Vector3(tracker.Scale, tracker.Scale, 1.0)");
scaleExpression.SetReferenceParameter("tracker", _tracker);
contentVisual.StartAnimation("Scale", scaleExpression);
}
Hinweise
InteractionTracker ist ein Zustandsautomat, der durch aktive Eingaben oder durch explizite Aufrufe zum Aktualisieren oder Animieren seiner Eigenschaften gesteuert werden kann. Die InteractionTracker Klasse soll die Eingabe ermöglichen, CompositionAnimationfür benutzerdefinierte Interaktionserfahrungen zu steuern. Um interaktive Oberflächen zu erstellen, ist es erforderlich, mindestens ein VisualInteractionSource-mit dem InteractionTracker-zu verknüpfen.
Allgemeine Szenarien
IneractionTracker ist für:
- Hinzufügen eines benutzerdefinierten Wischverhaltens, z. B. Wischen von ListView-Elementen oder anderen visuellen Elementen zum Löschen/Schließen
- An Verschiebungen gebundene Übergänge, z. B. wischen, um zwischen "geschlossen" und "offenen" Zuständen zu wechseln
- Eingabegesteuerte Animation eines Effekts, z. B. durch Verschieben, wird der Bildschirm weicher
- Benutzerdefinierte Steuerelemente, z. B. das Erstellen einer benutzerdefinierten Implementierung eines ScrollViewer mit unterschiedlichen Verschiebungsgeschwindigkeiten oder der Möglichkeit, programmgesteuert gesteuert zu werden
InteractionTracker-Zustände und Übergänge
Der InteractionTracker ist ein Zustandsautomat mit vier Zuständen:
- Leerlauf: Keine aktive Eingabe oder Animationen, die den InteractionTracker steuern
- Interaktion: Aktive Benutzereingaben steuern den InteractionTracker
- Inertia: Aktive Animationen, die durch aktive Eingaben oder programmgesteuerte Geschwindigkeiten resultieren, steuern den InteractionTracker
- CustomAnimation: Eine Eigenschaft des InteractionTracker wird direkt animiert Das folgende Diagramm zeigt diese vier Zustände und welche Zustandsübergänge gültig sind.
Zustandsübergänge können aufgrund von Benutzeraktionen (z. B. Starten oder Beenden einer Manipulation) oder aufgrund expliziter Aufrufe von Methoden im InteractionTracker auftreten. Jedes Mal, wenn eine dieser expliziten Aufrufe erfolgt, wird eine Anforderungs-ID ausgegeben, um nachzuverfolgen, ob die Anforderung ignoriert wird oder eine Zustandsänderung verursacht.
Wichtig ist zu beachten, dass InteractionTracker in einem anderen Prozess ausgeführt wird als die Anwendung, die sie verwendet. Daher sind alle Methodenaufrufe für InteractionTracker und zugeordnete Klassen asynchron, ebenso wie die Rückrufe, die über die IInteractionTrackerOwner-Schnittstelle ausgegeben werden.
Im Folgenden wird beschrieben, was jede Zustandsänderung auslöst:
Status beginnen | Endstatus | Mögliche Trigger |
---|---|---|
Untätig | Aufeinander wirkend | Dieser Zustandsübergang geschieht nur, wenn eine Benutzermanipulation ausgeführt wird, die mit einer VisualInteractionSource übereinstimmt, die dem InteractionTracker zugeordnet ist. |
Untätig | Trägheit | Dieser Zustandsübergang erfolgt nur, wenn sich der InteractionTracker im Idle-Zustand befindet und TryUpdatePositionWithVelocity oder TryUpdateScaleWithVelocity aufgerufen wird. |
Untätig | CustomAnimation | Dieser Zustandsübergang erfolgt, wenn InteractionTracker sich im Idle-Zustand befindet und TryUpdatePositionWithAnimation oder TryUpdateScaleWithAnimation aufgerufen wird. |
Aufeinander wirkend | Trägheit | Dieser Zustandsübergang erfolgt nur, wenn eine Benutzermanipulation abgeschlossen ist, die an den InteractionTracker gesendet wurde. Wenn die aktive Eingabe endet, wechselt der InteractionTracker in den Trägheitszustand, und Informationen wie die Freigabegeschwindigkeit des Fingers und die InertiaDecayRate bestimmen das Verhalten während des Inertia-Zustands. |
Trägheit | Untätig | Dieser Zustandsübergang tritt auf, wenn die funktion(en) zum Aktualisieren der Position und/oder des Skalierungsmaßstabs nicht mehr zu Einer Änderung führen. Mit anderen Worten, Die Positions- und Skalierungsgeschwindigkeit haben beide auf Null geholt. Dieser Zustandsübergang kann auch auftreten, wenn ein Aufruf erfolgt, um die Position oder Skalierung ohne Animation oder Geschwindigkeit explizit zu aktualisieren. Diese Aufrufe enden unträgheit und wechseln mit den aktualisierten Eigenschaftswerten zum Leerlauf. |
Trägheit | Trägheit | Dieser Zustandsübergang tritt auf, wenn TryUpdatePositionWithVelocity oder TryUpdateScaleWithVelocity aufgerufen wird, wenn sich bereits der Inertia-Zustand befindet. Die erneute Eingabe von Inertia bewirkt, dass alle InertiaStateEntered-Eigenschaften neu ausgewertet werden. |
Trägheit | CustomAnimation | Dieser Zustandsübergang erfolgt, wenn ein Aufruf von TryUpdatePositionWithAnimation oder TryUpdateScaleWithAnimation während der Inertia-Sate erfolgt. |
Trägheit | Aufeinander wirkend | Dieser Zustandsübergang tritt auf, wenn aktive Eingaben des Benutzers, die Treffertests an visualInteractionSource durchführen, vor abschluss in Inertia erfolgt. |
CustomAnimation | Untätig | Dieser Zustandsübergang erfolgt, wenn alle Animationen, die für die Position und Skalierungseigenschaften von InteractionTracker festgelegt wurden, abgeschlossen sind. |
CustomAnimation | CustomAnimation | Dieser Zustandsübergang erfolgt, wenn ein Aufruf von TryUpdatePositionWithAnimation oder TryUpdateScaleWithAnimation erfolgt, während er sich bereits im CustomAnimation-Zustand befindet. |
CustomAnimation | Trägheit | Dieser Zustandsübergang erfolgt, wenn ein Aufruf von TryUpdatePositionWithVelocity oder TryUpdateScaleWithVelocity erfolgt, wenn der CustomAnimation-Zustand aktiviert ist. |
CustomAnimation | Aufeinander wirkend | Dieser Zustandsübergang tritt auf, wenn eine Benutzermanipulation, die Treffertests auf eine visualInteractionSource durchführt, die dem InteractionTracker zugeordnet ist. |
Jeder vom InteractionTracker vorgenommene Zustandsübergang erzeugt einen Rückruf, der den neuen Zustand mit Argen angibt, die Informationen enthalten, die für diesen Zustand relevant sind, sowie die RequestID für die Anforderung, die die Zustandsänderung verursacht hat. Aktive Manipulationen vom Benutzer führen zu einer Anforderungs-ID von 0. Jeder Try*-Aufruf gibt eine Anforderungs-ID aus, die für die Nachverfolgung verwendet werden kann, durch die der Try*-Anruf die Statusänderung verursacht hat. Die erste RequestID während der Lebensdauer der Anwendung ist 1, und jeder nachfolgende Aufruf erhöht die RequestID, was bedeutet, dass jeder eindeutig ist.
InteractionTracker Position und Skalierung
Die beiden am häufigsten verwendeten Eigenschaften von InteractionTracker sind Position und Skalierung. Wenn eine Änderung an einer oder beiden eigenschaften vorhanden ist, wird der ValuesChanged-Rückruf mit Informationen zu den aktuellen Werten gesendet. Aufgrund der asynchronen Natur von InteractionTracker sind die über InteractionTracker-Rückrufe empfangenen Werte die beste Möglichkeit, anwendungslogik für den aktuellen Zustand und die Werte von InteractionTracker und deren Eigenschaften zu aktualisieren.
Ein wichtiger Unterschied zu InteractionTracker besteht darin, dass seine Position und Skalierung nicht mit dem Koordinatenbereich eines bestimmten visuellen Elements verknüpft sind. Zum Zeitpunkt der Erstellung des InteractionTracker-Elements weist seine Position die x-, y- und z-Unterkanäle des Vektors auf 0 auf und die Skalierung wird auf 1 festgelegt. Nur aktive Eingabe- oder Try*-Aufrufe können dazu führen, dass sich diese Werte ändern. Die Mindest- und Höchstwerte für jede Eigenschaft diktieren den Bereich, in dem Werte schwanken können. Die einzige Ausnahme ist das Konzept von "Overpan" oder "overzoom", bei dem eine aktive Manipulation dazu führen kann, dass Werte während des Interaktionszustands etwas über das Minimum oder Maximum hinausgehen. Wenn die Bearbeitung abgeschlossen ist, werden die Werte jedoch immer innerhalb des festgelegten Bereichs ruhen. CustomAnimations werden immer innerhalb der für Position und Skalierung festgelegten Bereiche eingeklemmt.
Das Konzept des InteractionTracker-Koordinatenraums richtet sich an das Konzept der Bildschirmkoordinaten, in dem eine Bewegung nach oben/links den Positionswert erhöht, und eine Abwärts-/Rechtsbewegung verringert den Positionswert. Daher ist es sehr üblich, die Positionseigenschaft beim Anfügen an den Offset eines visuellen Elements zu negieren.
Standardmäßig sind die Kanäle für die minimale und maximale Position alle 0, und die Minimal- und Höchstmaßstabwerte sind 1. Wenn das gewünschte Verhalten für eine der Beiden Eigenschaften die Änderung außerhalb dieser Startwerte zulassen soll, müssen die Mindest-/Höchstwerte aktualisiert werden.
InteractionTracker und ExpressionAnimations
InteractionTracker macht eine Vielzahl von Eigenschaften verfügbar, die im Kontext von ExpressionAnimationverwendet werden können, um Aktualisierungen animierbarer Eigenschaften von CompositionObject s zu steuern. Aufgrund der asynchronen Natur von InteractionTracker wird nicht empfohlen, diese Eigenschaften direkt abzufragen. Stattdessen sollten Sie die in Rückrufen bereitgestellten Eigenschaften zum Steuern der Anwendungslogik verwenden und auf die Werte in einer ExpressionAnimation- verweisen, um animierbare Eigenschaften zu aktualisieren.
Wie bereits erwähnt, sind die beiden am häufigsten verwendeten Eigenschaften von InteractionTracker die Position- und Scale-Eigenschaften. Dies sind die Eigenschaften, die als Reaktion auf Benutzereingaben und Try*-Aufrufe aktualisiert werden. Die Verwendung dieser Eigenschaften innerhalb von ExpressionAnimations bewirkt, dass die animierbaren Eigenschaften von CompositionObjects als Reaktion aktualisiert werden. Die InteractionTracker.position-Eigenschaft kann beispielsweise an den Offset eines visuellen Elements gebunden sein. Es ist auch üblich, diese Eigenschaften zu verwenden, um ein CompositionPropertySet aufzufüllen, das den Fortschritt verfolgt, was wiederum eine Reihe koordinierter Animationen steuern kann.
Weiterleiten von Eingaben an interactionTracker
Nach der Konfiguration benötigt InteractionTracker noch einen letzten Schritt, um toucheingaben und reagieren zu können. Weitere Informationen finden Sie in der Dokumentation zu VisualInteractionSource.TryRedirectForManipulation weitere Informationen zum Konfigurieren eingehender Eingaben, die in den InteractionTracker fließen sollen.
Eigenschaften
Comment |
Eine Zeichenfolge, die dem CompositionObject zugeordnet werden soll. (Geerbt von CompositionObject) |
Compositor |
Der Compositor verwendet, um dieses CompositionObjectzu erstellen. (Geerbt von CompositionObject) |
DispatcherQueue |
Ruft den DispatcherQueue für das CompositionObject ab. (Geerbt von CompositionObject) |
ImplicitAnimations |
Die Auflistung impliziter Animationen, die diesem Objekt zugeordnet sind. (Geerbt von CompositionObject) |
InteractionSources |
Eine Auflistung von Objekten, die Interaktionen generieren. |
IsInertiaFromImpulse |
Ruft einen Wert ab, der angibt, ob die Inertiät das Ergebnis eines Impulss ist. |
IsPositionRoundingSuggested |
Boolescher Wert, der angibt, ob die Position derzeit gerundet wird. |
MaxPosition |
Die maximale Position, die für die InteractionTracker-zulässig ist. |
MaxScale |
Die maximale Skalierung für die InteractionTracker-. |
MinPosition |
Die minimale Position, die für die InteractionTracker-zulässig ist. |
MinScale |
Die minimale Skalierung für die InteractionTracker-. |
NaturalRestingPosition |
Natürliche Ruheposition für die InteractionTracker. Die NaturalRestingPosition-Eigenschaft ist die berechnete Position, die InteractionTracker- zu einem Stopp kommt, ohne Grenzen oder Unzumutungsmodifizierer zu berücksichtigen. Diese Eigenschaft ist häufig nützlich für Aktionen wie Virtualisierung in einer Bildlaufumgebung, wo es wichtig ist, den Speicherort zu kennen, an dem InteractionTracker beendet wird. Es gibt zwei Hauptanwendungsfälle für die Verwendung der NaturalRestingPosition-Eigenschaft: Abrufen des aktuellen Werts in der InertiaStateEntered Ereignisargumente oder Verweisen auf diese Eigenschaft in einer ExpressionAnimation beim Erstellen von Elementen wie Inertiamodifizierern. |
NaturalRestingScale |
Natürliche Rest-Skalierung für die InteractionTracker. Die NaturalRestingScale-Eigenschaft ist die berechnete Skalierungsposition, die InteractionTracker- zu einem Stopp kommt, ohne Grenzen oder Unzumutungsmodifizierer zu berücksichtigen. Diese Eigenschaft ist häufig nützlich für Aktionen wie Virtualisierung in einer Bildlaufumgebung, wo es wichtig ist, den Speicherort zu kennen, an dem InteractionTracker beendet wird. Es gibt zwei Hauptanwendungsfälle für die Verwendung der NaturalRestingScale-Eigenschaft: Abrufen des aktuellen Werts im InertiaStateEntered Ereignisargumente oder Verweisen auf diese Eigenschaft in einer ExpressionAnimation beim Erstellen von Elementen wie Inertiamodifizierern. |
Owner |
Die IInteractionTrackerOwner dem InteractionTracker-zugeordnet. |
Position |
Die Ausgabeposition, die vom InteractionTracker-berechnet wird. Die aktuelle Position ist ein relativer Wert. Während der Status "Idle" und "CustomAnimation" wird es immer zwischen den werten liegen, die in den Eigenschaften "MinPosition" und "MaxPosition" angegeben sind. Die Positionseigenschaft von InteractionTracker kann während der Interaktions- und Inertia-Zustände außerhalb dieses Bereichs liegen, um eine Unzustellbarkeit oder einen Widerstand an der Grenze anzuzeigen. Die Positionseigenschaft des InteractionTracker ist ein Vector3, der die Position auf der X-, Y- und Z-Achse darstellt. Die X- und Y-Kanäle sind die einzigen Komponenten, die von InteractionTracker zu diesem Zeitpunkt aktualisiert werden. Die Kanäle dieses Vector3 schwanken nicht außerhalb von 0 (Standardwert), wenn die MinPosition und MaxPosition nicht festgelegt sind. |
PositionInertiaDecayRate |
Inertia-Verfallsrate für die Position. Der Bereich liegt zwischen 0 und 1. Die PositionInertiaDecayRate-Eigenschaft definiert die Rate, mit der InteractionTracker- langsam zu einem Stopp wird, wenn sie Inertia eingegeben hat und sich die Position ändert. Je näher sich 1, desto schneller InteractionTracker langsam auf einen Stopp und umgekehrt. Definiert als Vector3 stellt jede Komponente die Trägheitszerfallrate für x, y, z entsprechend dar. |
PositionVelocityInPixelsPerSecond |
Die zurzeit auf die Position angewendete Geschwindigkeit. Die PositionVelocityInPixelsPerSecond-Eigenschaft stellt die aktuelle Positionsgeschwindigkeit InteractionTracker- in Inertia dar. Es gibt zwei Hauptanwendungsfälle für diese Eigenschaft: Abrufen der Positionsgeschwindigkeit von InteractionTracker direkt nach dem Auftreten einer Interaktion oder Verweisen auf die aktuelle Geschwindigkeit von InteractionTracker- in einem ExpressionAnimation-. |
Properties |
Die Auflistung der Eigenschaften, die dem CompositionObject-zugeordnet sind. (Geerbt von CompositionObject) |
Scale |
Die Ausgabeskala, die vom InteractionTrackerberechnet wird. Die aktuelle Skalierung ist ein relativer Wert, der von den werten abhängt, die in den eigenschaften MinScale und MaxScale angegeben sind. Die Skalierungseigenschaft des InteractionTracker- ist ein Gleitkomma, der die Skalierung im InteractionTracker Koordinatenbereich darstellt. Dieser Wert beginnt bei 1 und erhöht oder verringert sich basierend auf aktiven Eingaben oder direkten Aufrufen, um die Eigenschaft zu aktualisieren oder zu animieren. Die Skalierungseigenschaft, wenn sich der InteractionTracker- in den Status "Idle" oder "CustomAnimation" befindet, ändert sich nicht von 1, es sei denn, die MinScale- und MaxScale Eigenschaften, die standardmäßig auf 1 festgelegt sind, werden aktualisiert. InteractionTracker- kann während der Interaktions- und Trägheitszustände etwas außerhalb dieses Bereichs liegen, um eine Unzustellbarkeit oder einen Widerstand an der Grenze anzuzeigen. |
ScaleInertiaDecayRate |
Inertia-Verfallsrate für Skalierung. Der Bereich liegt zwischen 0 und 1. Die ScaleInertiaDecayRate-Eigenschaft definiert die Rate, mit der InteractionTracker- langsam zu einem Stopp wird, wenn sie in Inertia eingegeben wurde und sich die Skalierung ändert. Je näher sich 1, desto schneller InteractionTracker langsam auf einen Stopp und umgekehrt. Im Gegensatz zu den PositionInertiaDecayRate, die als Vector3 definiert ist, wird ScaleInertiaDecayRate als einzelner Float definiert. |
ScaleVelocityInPercentPerSecond |
Die Änderungsrate für die Skalierung. Die ScaleVelocityInPercentPerSecond-Eigenschaft stellt die aktuelle Skalierungsgeschwindigkeit InteractionTracker- in Inertia dar. Die Positionsgeschwindigkeit von InteractionTracker direkt nach dem Auftreten einer Interaktion zu erfassen oder auf die aktuellste Geschwindigkeit von InteractionTracker in einem ExpressionAnimation-zu verweisen. |
Methoden
AdjustPositionXIfGreaterThanThreshold(Single, Single) |
Passt die Position x-Koordinate an, wenn sie größer als der angegebene Schwellenwert ist. |
AdjustPositionYIfGreaterThanThreshold(Single, Single) |
Passt die Position y-Koordinate an, wenn sie größer als der angegebene Schwellenwert ist. |
Close() |
Schließt das CompositionObject und gibt Systemressourcen frei. (Geerbt von CompositionObject) |
ConfigureCenterPointXInertiaModifiers(IIterable<CompositionConditionalValue>) |
Übernimmt eine sortierte Liste von CompositionConditionalValue. In einem Frame, während sich der Tracker in Inertia befindet, hat der erste CompositionConditionalValue seine ". Bedingung" wird als wahr ausgewertet, ersetzt den Zoom CenterPointX-Wert, den der Tracker verwendet, durch seine ". Wert". Wenn keine als "true" ausgewertet wird, wird der CenterPointX-Wert nicht ersetzt. |
ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>) |
Übernimmt eine sortierte Liste von CompositionConditionalValue. In einem Frame, während sich der Tracker in Inertia befindet, hat der erste CompositionConditionalValue seine ". Bedingung" wird als wahr ausgewertet, ersetzt den Zoom CenterPointY-Wert, den der Tracker verwendet, durch seine ". Wert". Wenn keine als "true" ausgewertet wird, wird der CenterPointY-Wert nicht ersetzt. |
ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Wendet eine Auflistung von InteractionTrackerInerTiaModifier-Objekten auf die X-Trägheit eines InteractionTracker an. Die ConfigurePositionXInertiaModifiers-Methode wendet eine einzelne oder eine Sammlung von InteractionTrackerInerInertiaModifiers auf die x-Komponente von InteractionTrackeran. Das System wertet jede Bedingungseigenschaft des X-Modifizierers in der Reihenfolge aus, in der sie InteractionTracker-hinzugefügt wurden. Die Reihenfolge, in der der InteractionTrackerInerTiaModifier in der Sammlung enthalten ist, entspricht daher der Reihenfolge, mit der das System ausgewertet wird. |
ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Wendet eine Auflistung von InteractionTrackerInertiaModifier-Objekten auf die y-Inertia eines InteractionTracker an. Die ConfigurePositionYInertiaModifiers-Methode wendet eine einzelne oder eine Sammlung von InteractionTrackerInerInertiaModifiers auf die y-Komponente von InteractionTrackeran. Das System wertet jede Bedingungseigenschaft des Y-Modifizierers in der Reihenfolge aus, in der sie InteractionTracker-hinzugefügt wurden. Die Reihenfolge, in der der InteractionTrackerInerTiaModifier in der Sammlung enthalten ist, entspricht daher der Reihenfolge, mit der das System ausgewertet wird. |
ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Wendet eine Auflistung von InteractionTrackerInerTiaModifier-Objekten auf die Skalierung eines InteractionTracker an. Die ConfigureScaleInertiaModifiers-Methode wendet eine einzelne oder eine Sammlung von InteractionTrackerInerInertiaModifiers auf die Skalierungskomponente von InteractionTrackeran. Das System wertet jede Bedingungseigenschaft des Skalierungsmodifizierers in der Reihenfolge aus, in der sie InteractionTracker-hinzugefügt wurden. Die Reihenfolge, in der der InteractionTrackerInerTiaModifier in der Sammlung enthalten ist, entspricht daher der Reihenfolge, mit der das System ausgewertet wird. |
ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>) |
Wendet eine Auflistung von InteractionTrackerInerTiaModifier-Objekten auf die Position eines InteractionTracker an. |
Create(Compositor) |
Erstellt eine Instanz von InteractionTracker. Diese Create-Methode instanziieren eine InteractionTracker-. Nachdem Sie die InteractionTracker Festlegen der Eigenschaften erstellt haben, eine VisualInteractionSource-anfügen und in einer ExpressionAnimation-auf Position oder Skalierung verweisen, kann die aktive Eingabe die ExpressionAnimationsteuern. |
CreateWithOwner(Compositor, IInteractionTrackerOwner) |
Erstellt eine Instanz von InteractionTracker mit dem angegebenen Besitzer. Diese Create-Methode instanziiert eine InteractionTracker- mit einem Besitzer für die Registrierung für Rückrufe. Nachdem Sie die InteractionTracker Festlegen der Eigenschaften erstellt haben, eine VisualInteractionSource-anfügen und in einer ExpressionAnimation-auf Position oder Skalierung verweisen, kann die aktive Eingabe die ExpressionAnimationsteuern. Das Erstellen der InteractionTracker- mit einem Besitzer ist nur erforderlich, wenn die Anwendung Rückrufe zu Status und Werten des InteractionTrackerempfangen muss. |
Dispose() |
Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind. (Geerbt von CompositionObject) |
GetBindingMode(InteractionTracker, InteractionTracker) |
Ruft den Bindungsachsenmodus zwischen zwei Interaktions-Trackern ab. |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Definiert eine Eigenschaft, die animiert werden kann. (Geerbt von CompositionObject) |
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes) |
Legt den Bindungsachsenmodus zwischen zwei Interaktionstrackern fest. |
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 stoppt 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 auf der angegebenen Eigenschaft ausgeführt wird. (Geerbt von CompositionObject) |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption) |
Versucht, die Position des InteractionTracker mithilfe der angegebenen Klammeroption zu aktualisieren. |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption) |
Versucht, die Position des InteractionTracker mithilfe der angegebenen Klammeroption zu aktualisieren. |
TryUpdatePosition(Vector3) |
Versucht, die Position des InteractionTrackerzu aktualisieren. Die TryUpdatePosition-Methode aktualisiert den Speicherort InteractionTracker- auf die als Parameter angegebene Vector3-Position. TryUpdatePosition wird verwendet, um die Position von InteractionTracker zu einem beliebigen Zeitpunkt (entweder zu Beginn, von einem Zustand eingegebenen Ereignis usw.) deklarativ zu definieren. TryUpdatePosition kann entweder aus dem Idle-, CustomAnimation- oder Inertia-Zustand aufgerufen werden. Dadurch wird die Position InteractionTracker- an die definierte Position verschoben und in den Leerlaufzustand eingegeben. |
TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption) |
Versucht, die Position des InteractionTracker durch den angegebenen Betrag mithilfe der angegebenen Klammeroption anzupassen. |
TryUpdatePositionBy(Vector3) |
Versucht, den InteractionTrackerPosition um den angegebenen Betrag anzupassen. Die TryUpdatePositionBy-Methode aktualisiert den aktuellen Speicherort von InteractionTracker durch das vector3-Delta, das als Parameter angegeben wurde. Ähnlich wie TryUpdatePositionwird TryUpdatePositionBy verwendet, um InteractionTracker durch ein definiertes Delta deklarativ zu verschieben, ohne dass eine Animation oder Inertia erforderlich ist. TryUpdatePositionBy kann entweder aus dem Status "Idle", "CustomAnimation" oder "Inertia" aufgerufen werden. Dadurch wird die Position InteractionTracker durch das definierte Delta verschoben und in den Leerlaufzustand eingegeben. |
TryUpdatePositionWithAdditionalVelocity(Vector3) |
Versucht, die position des InteractionTrackerdurch Hinzufügen der Geschwindigkeit zu aktualisieren. Die TryUpdatePositionWithAdditionalVelocity-Methode fügt die Eingabevektor3 hinzu, die zusätzliche Geschwindigkeit zur aktuellen Geschwindigkeit von InteractionTracker-darstellt. Da sich die Geschwindigkeit von InteractionTracker nun geändert hat, ändert sich nun die gezielte Restposition für InteractionTracker. TryUpdatePositionWithAdditionalVelocity kann entweder aus Idle-, Inertia- oder CustomAnimation-Zuständen aufgerufen werden. Dadurch wird entweder die Geschwindigkeit von InteractionTracker- hinzugefügt oder aktualisiert und in den Inertia-Zustand eingegeben. |
TryUpdatePositionWithAnimation(CompositionAnimation) |
Versucht, die position des InteractionTrackerdurch Anwenden einer Animation zu aktualisieren. Die TryUpdatePositionWithAnimation-Methode aktualisiert die Position InteractionTracker basierend auf der CompositionAnimation Eingabe als Parameter. Diese Methode wird in Situationen verwendet, in denen die Bewegung von InteractionTracker durch eine bestimmte Animation definiert werden muss, anstelle der herkömmlichen Inertia-Erfahrung. TryUpdatePositionWithAnimation kann aus dem Leerlauf- oder Inertia-Zustand aufgerufen werden. Dies geschieht, InteractionTracker 's Position wird durch die definierte Animation gesteuert und in den CustomAnimation-Zustand eingegeben. |
TryUpdateScale(Single, Vector3) |
Versucht, die Skalierung auf den angegebenen Wert zu aktualisieren. Die TryUpdateScale-Methode aktualisiert die Skalierungsposition InteractionTracker- auf die Skalierungsposition und den Mittelpunkt, der als Parameter angegeben ist. TryUpdateScale wird verwendet, um die Skala von InteractionTracker zu einem beliebigen Zeitpunkt (entweder zu Beginn, von einem Zustand eingegebenen Ereignis usw.) deklarativ zu definieren. TryUpdateScale kann entweder aus dem Idle-, CustomAnimation- oder Inertia-Zustand aufgerufen werden. Dadurch wird die Skalierungsposition InteractionTracker an die definierte Position verschoben und in den Leerlaufzustand eingegeben. |
TryUpdateScaleWithAdditionalVelocity(Single, Vector3) |
Versucht, die Skalierung durch Hinzufügen der angegebenen Geschwindigkeit zu aktualisieren. Die TryUpdateScaleWithAdditionalVelocity-Methode fügt die eingegebene Skalare hinzu, die zusätzliche Geschwindigkeit zur aktuellen Geschwindigkeit von InteractionTracker darstellt, und verschiebt den Mittelpunkt in den eingegebenen Vector3. Da sich die Geschwindigkeit von InteractionTracker nun geändert hat, ändert sich nun die zielorientierte Rest-Skalierungsposition für InteractionTracker. TryUpdateScaleWithAdditionalVelocity kann entweder aus Idle-, Inertia- oder CustomAnimation-Zuständen aufgerufen werden. Dadurch wird entweder die Geschwindigkeit von InteractionTracker hinzugefügt oder aktualisiert und in den Inertia-Zustand eingegeben. |
TryUpdateScaleWithAnimation(CompositionAnimation, Vector3) |
Versucht, die Skalierung mit der angegebenen Animation zu aktualisieren. Die TryUpdateScaleWithAnimation-Methode aktualisiert die Skalierungsposition InteractionTracker- basierend auf der CompositionAnimation als Parameter eingegeben. Diese Methode wird in Situationen verwendet, in denen die Bewegung von InteractionTracker durch eine bestimmte Animation definiert werden muss, anstelle der herkömmlichen Inertia-Erfahrung. TryUpdateScaleWithAnimation kann aus dem Leerlauf- oder Inertia-Zustand aufgerufen werden. Dies geschieht, InteractionTracker Position wird durch die definierte Animation gesteuert und in den CustomAnimation-Zustand eingegeben. |