VisualInteractionSource 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.
Objekt zum Konfigurieren von Eingaben für den InteractionTracker relativ zu einem Visual.
VisualInteractionSource ist nur für die Verwendung mit InteractionTracker konzipiert und definiert, welche Eingabe an den InteractionTracker gesendet wird, um seinen Zustand und seine Eigenschaften zu steuern. Diese Klasse enthält sowohl das Visual, das für Treffertests verwendet werden soll, als auch eine Vielzahl von Konfigurationseigenschaften, für die Gesten und Eingabetypen an den InteractionTracker gesendet werden.
public ref class VisualInteractionSource sealed : CompositionObject, ICompositionInteractionSource
public ref class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [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 VisualInteractionSource final : CompositionObject, ICompositionInteractionSource
/// [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 VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[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 VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[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 class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
Public NotInheritable Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
Public Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows 10 Anniversary Edition (eingeführt in 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v3.0)
|
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
// end 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 axis.
//
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
VisualInteractionSource wird verwendet, um wichtige Eigenschaften zu den Arten von Interaktionen zu definieren, die den Zustand und die Eigenschaften von InteractionTracker steuern sollen. Die Quelleigenschaft wird sowohl für Treffertests als auch für den Koordinatenraum für die Gestenerkennung verwendet. Daher ist es wichtig, ein Visual zu verwenden, das während der Manipulation nicht in Bewegung sein wird. Mehrere VisualInteractionSources können demselben InteractionTracker zugeordnet werden, wenn mehrere Treffertestregionen vorhanden sind, aber die häufigsten Fälle erfordern nur eine VisualInteractionSource für einen bestimmten InteractionTracker.
VisualInteractionSource ist die Klasse zum Konfigurieren der Gestentypen, die zum Steuern des InteractionTracker berücksichtigt werden sollten. Position X und Y sind mit horizontalem bzw. vertikalem Schwenken verknüpft. Die Skalierung wird mit einer Pinch-Geste erkannt, die häufig mit Zoomen verbunden ist. Diese drei Quellmodi sind alle für touch- und Precision Touchpad-Eingaben konfigurierbar. Jeder dieser Quellmodi kann mit oder ohne Inertia aktiviert werden:
Die Aktivierung der Schwungzeit gibt an, dass die Position oder Skalierung während des Tia-Zustands von der Freigabegeschwindigkeit auf natürliche Weise interpoliert.
Die Deaktivierung der Tia bedeutet, dass die Positions- oder Skalierungsgeschwindigkeit nach Abschluss der Interaktion sofort auf 0 wechselt. Wenn eingaben, die die Position oder Skalierung an den InteractionTracker weiterleiten, wird die InteractionTracker-Eigenschaft desselben Namens entsprechend aktualisiert.
Die Schienenkonfigurationen geben an, wie die Geste erkannt wird. Rails ist standardmäßig aktiviert und gibt an, dass die horizontale oder vertikale Verschiebung an einer bestimmten Achse gesperrt wird, wenn sie hauptsächlich auf dieser Achse gestartet wird. Dies wird auf den Geländereigenschaftenseiten ausführlicher erläutert.
Die Verkettungskonfiguration gibt an, ob Eingaben, die von einer VisualInteractionSource verarbeitet werden, an eine andere Entität fließen können, wenn der InteractionTracker die min oder max in diese Richtung erreicht. Mit dieser Konfiguration können Eingaben entweder mit einem anderen InteractionTracker über eine andere VisualInteractionSource oder mit einem ScrollViewer verkettet werden, wenn das Quellvisual von VisualInteractionSource ein untergeordnetes Element des ScrollViewer ist.
Versionsverlauf
Windows-Version | SDK-Version | Wertschöpfung |
---|---|---|
1703 | 15063 | ConfigureCenterPointXModifiers |
1703 | 15063 | ConfigureCenterPointYModifiers |
1703 | 15063 | ConfigureDeltaPositionXModifiers |
1703 | 15063 | ConfigureDeltaPositionYModifiers |
1703 | 15063 | ConfigureDeltaScaleModifiers |
1703 | 15063 | DeltaPosition |
1703 | 15063 | DeltaScale |
1703 | 15063 | Position |
1703 | 15063 | PositionVelocity |
1703 | 15063 | Skalieren |
1703 | 15063 | ScaleVelocity |
1809 | 17763 | PointerWheelConfig |
1903 | 18362 | CreateFromIVisualElement |
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) |
DeltaPosition |
Die Menge der Positionsänderung, die während des bevorstehenden Frames angewendet werden soll. Der Standardwert ist 0. Nur über Ausdruck/Animation lesbar. |
DeltaScale |
Der Umfang der Skalierungsänderung, die während des bevorstehenden Frames angewendet werden soll. Multiplikative. Der Standardwert lautet 1. Nur über Ausdruck/Animation lesbar. |
Dispatcher |
Der Verteiler für das CompositionObject. (Geerbt von CompositionObject) |
DispatcherQueue |
Ruft die DispatcherQueue für das CompostionObject ab. (Geerbt von CompositionObject) |
ImplicitAnimations |
Die Auflistung impliziter Animationen, die an dieses Objekt angefügt sind. (Geerbt von CompositionObject) |
IsPositionXRailsEnabled |
Gibt an, ob die Verschiebung auf der x-Achse ge railt wird. Die IsPositionXRailsEnabled-Eigenschaft definiert die Geländerkonfiguration, wenn die X-Achsen-Verschiebung an den entsprechenden InteractionTracker gesendet wird. Wenn der anfängliche Teil der Verschiebung in einem bestimmten Bereich relativ zur X-Achse abgewinkelt ist, wird die Y-Komponente der Schwenkung ignoriert und als perfekte horizontale Verschiebung betrachtet. Diese Eigenschaft wird häufig in Situationen aktiviert, in denen sowohl ein X- als auch ein Y-Bildlauf aktiviert ist, aber auch eine zuverlässige, perfekte horizontale Verschiebung erfordert. |
IsPositionYRailsEnabled |
Gibt an, ob die Verschiebung auf der y-Achse ge railed ist. Die IsPositionYRailsEnabled-Eigenschaft definiert die Geländerkonfiguration, wenn die Y-Achsen-Verschiebung an den entsprechenden InteractionTracker gesendet wird. Wenn die Funktion aktiviert ist, wird die X-Komponente der Schwenkung ignoriert, wenn der anfängliche Teil der Verschiebung innerhalb eines bestimmten Bereichs relativ zur Y-Achse abgewinkelt wird und als perfekte vertikale Verschiebung betrachtet wird. Diese Eigenschaft ist häufig in Situationen aktiviert, in denen sowohl ein X- als auch ein Y-Bildlauf aktiviert ist, aber auch eine zuverlässige, perfekte vertikale Verschiebung erfordert. |
ManipulationRedirectionMode |
Gibt an, welche Eingabe an den InteractionTracker umgeleitet werden soll. |
PointerWheelConfig |
Ruft die Konfiguration für die Zeigerradeingabe ab. |
Position |
Die Gesamtmenge der Positionsänderung seit beginn der Interaktion. Der Standardwert ist 0. Nur über Ausdruck/Animation lesbar. |
PositionVelocity |
Die sofortige Änderungsrate der Position in der Interaktion in Pixel pro Sekunde. Der Standardwert ist 0. Schreibzugriff nur über Ausdruck/Animation. |
PositionXChainingMode |
Die PositionXChainingMode-Eigenschaft definiert das Verkettungsverhalten für eine InteractionSource in X-Richtung. Es gibt drei Typen von InteractionChainingModes : Auto , Always , Never . Wenn die Verkettung in X-Richtung aktiviert ist, wird die Eingabe an die VisualInteractionSource des nächsten Vorgängers gesendet, wenn die Interaktion (z. B. Verschiebung) die Position von InteractionTracker über die minimale oder maximale X-Position hinausnimmt. |
PositionXSourceMode |
Quellmodus für die X-Achse. Die PositionXSourceMode-Eigenschaft definiert, wie Interaktionen für eine VisualInteractionSource auf der X-Achse verarbeitet werden. Es stehen drei Typen von InteractionSourceModeszur Auswahl: Interaktionen sind Disabled, EnabledWithInertia und EnabledWithoutInertia. Diese Eigenschaft muss aktiviert sein, damit VisualInteractionSource X-Achsendaten an InteractionTracker senden kann. |
PositionYChainingMode |
Die PositionYChainingMode-Eigenschaft definiert das Verkettungsverhalten für eine InteractionSource in Y-Richtung. Es gibt drei Typen von InteractionChainingModes : Auto , Always , Never . Wenn die Verkettung in Y-Richtung aktiviert ist, wird die Eingabe an die VisualInteractionSource des nächsten Vorgängers gesendet, wenn die Interaktion (z. B. Verschiebung) andernfalls die Position von InteractionTracker über die minimale oder maximale Y-Position hinausnimmt. |
PositionYSourceMode |
Quellmodus für die Y-Achse. Die PositionYSourceMode-Eigenschaft definiert, wie Interaktionen für eine VisualInteractionSource auf der Y-Achse verarbeitet werden. Es stehen drei Typen von InteractionSourceModeszur Auswahl: Interaktionen sind Disabled, EnabledWithInertia und EnabledWithoutInertia. Diese Eigenschaft muss aktiviert sein, damit VisualInteractionSource Daten der Y-Achse an InteractionTracker senden kann. |
Properties |
Die Auflistung der Eigenschaften, die dem CompositionObject zugeordnet sind. (Geerbt von CompositionObject) |
Scale |
Der prozentuale Gesamtunterschied in der Skalierung seit Beginn der Interaktion. Multiplikative. Der Standardwert lautet 1. Nur über Ausdruck/Animation lesbar. |
ScaleChainingMode |
Die ScaleChainingMode-Eigenschaft definiert das Verkettungsverhalten für eine InteractionSource in Skalierungsrichtung. Es gibt drei Typen von InteractionChainingModes : Auto, Always, Never. Wenn die Skalierungskette aktiviert ist, wird die Eingabe an die VisualInteractionSource des nächsten Vorgängers gesendet, wenn die Interaktion (z. B. schwenken) andernfalls die Position von InteractionTracker über die minimale oder maximale Skalierungsposition hinaus annimmt. |
ScaleSourceMode |
Definiert, wie Interaktionen für eine VisualInteractionSource auf der Skalierungsachse verarbeitet werden. Es stehen drei Typen von InteractionSourceModeszur Auswahl: Interaktionen sind Disabled , EnabledWithInertia und EnabledWithoutInertia . Diese Eigenschaft muss aktiviert sein, damit VisualInteractionSource Skalierungsdaten an InteractionTracker senden kann. |
ScaleVelocity |
Die sofortige Änderungsrate der Skalierung in der Interaktion in Prozent pro Sekunde. Additiv. Der Standardwert ist 0. Schreibgeschützt über Ausdruck/Animation. |
Source |
Das Visual, das für Treffertests verwendet wird und den Koordinatenraum für die Gestenerkennung definiert. |
Methoden
Close() |
Schließt das CompositionObject und gibt Systemressourcen frei. (Geerbt von CompositionObject) |
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>) |
Verwendet eine sortierte Liste von CompositionConditionalValue. In einem Frame hat der erste CompositionConditionalValue seine ". Bedingung" mit "true" ersetzt den CenterPointX-Zoomwert, den VisualInteractionSource mit seinem ". Wert". Wenn keine auf true ausgewertet wird, wird der CenterPointX-Frame nicht ersetzt. |
ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>) |
Verwendet eine sortierte Liste von CompositionConditionalValue. In einem Frame hat der erste CompositionConditionalValue seine ". Condition" evaluate to true ersetzt den Zoom CenterPointY-Wert, den VisualInteractionSource mit seinem ". Wert". Wenn keine auf true ausgewertet wird, wird der CenterPointY-Frame nicht ersetzt. |
ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>) |
Verwendet eine sortierte Liste von CompositionConditionalValue. In einem Frame hat der erste CompositionConditionalValue seine ". Condition" evaluate to true ersetzt den DeltaPositionX-Wert, den VisualInteractionSource mit seinem ". Wert". Wenn keine auf true ausgewertet wird, wird der DeltaPositionX-Frame nicht ersetzt. |
ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>) |
Verwendet eine sortierte Liste von CompositionConditionalValue. In einem Frame hat der erste CompositionConditionalValue seine ". Bedingung" mit "true" ersetzt den DeltaPositionY-Wert, den VisualInteractionSource mit dem wert "bereitstellt. Wert". Wenn keine als true ausgewertet wird, wird der DeltaPositionY-Frame nicht ersetzt. |
ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>) |
Verwendet eine sortierte Liste von CompositionConditionalValue. In einem Frame hat der erste CompositionConditionalValue seine ". Bedingung" mit "true" ersetzt den DeltaScale-Wert, den VisualInteractionSource mit seinem ". Wert". Wenn keines auf true ausgewertet wird, wird der DeltaScale-Frame nicht ersetzt.If none evaluate to true, the DeltaScale is not replaced that frame. |
ConnectAnimation(String, CompositionAnimation) |
Verbindet und Animation. (Geerbt von CompositionObject) |
Create(Visual) |
Erstellt eine instance von VisualInteractionSource. |
CreateFromIVisualElement(IVisualElement) |
Erstellt eine instance von VisualInteractionSource aus einem Element, das IVisualElement implementiert. |
DisconnectAnimation(String) |
Trennt eine Animation. (Geerbt von CompositionObject) |
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) |
TryRedirectForManipulation(PointerPoint) |
Gibt an, dass konfigurierte Bearbeitungen für den angegebenen Zeigerdatenstrom ab dem angegebenen PointerPoint an den InteractionTracker und nicht an den UI-Thread der App gesendet werden sollen. TryRedirectForManipulation ermöglicht es visualInteractionSource , den Zeigerdatenstrom an den InteractionTracker umzuleiten, wenn die Geste mit der Konfiguration auf der VisualInteractionSource übereinstimmt. Diese Methode sollte nur mit der Zeigereingabe des DeviceType Touch aufgerufen werden. |