VisualInteractionSource Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Oggetto per la configurazione dell'input all'InteractionTracker rispetto a un oggetto visivo.
VisualInteractionSource è progettato per essere usato solo con InteractionTracker e definisce quale input verrà inviato all'InteractionTracker per guidare lo stato e le proprietà. Questa classe contiene sia l'oggetto visivo da usare per il hit test, sia una varietà di proprietà di configurazione per cui verranno inviati movimenti e tipi di input all'InteractionTracker.
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
- Ereditarietà
- Attributi
- Implementazioni
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 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);
}
Commenti
VisualInteractionSource viene usato per definire proprietà importanti sui tipi di interazioni che devono guidare lo stato e le proprietà di InteractionTracker. La proprietà di origine viene usata sia per il hit test, sia per lo spazio di coordinate per il rilevamento dei movimenti. Di conseguenza, è importante usare un oggetto Visivo che non sarà in movimento durante la manipolazione. Più VisualInteractionSources possono essere associati allo stesso InteractionTracker se sono presenti più aree di hit test, ma i casi più comuni richiedono solo visualInteractionSource per un determinato InteractionTracker.
VisualInteractionSource è la classe per la configurazione dei tipi di movimenti da considerare per guidare InteractionTracker. La posizione X e Y sono associate rispettivamente alla panoramica orizzontale e verticale. La scala viene rilevata con un gesto di pizzicamento, spesso associato allo zoom. Queste tre modalità di origine sono tutte configurabili per l'input touch e Precision Touchpad. Ognuna di queste modalità di origine può essere abilitata con o senza inertia:
L'abilitazione dell'inerzia indica che la posizione o la scala verranno naturalmente interpolate dalla velocità di rilascio a nessuna velocità durante lo stato di inertia.
La disabilitazione dell'inertia indica che la velocità di posizione o scala andrà immediatamente a 0 al completamento dell'interazione. Quando l'input che determina la posizione o la scalabilità viene instradato all'interactionTracker, la proprietà InteractionTracker dello stesso nome verrà aggiornata in modo appropriato.
Le configurazioni delle guide indicano come verrà rilevato il movimento. Le guide, per impostazione predefinita, sono attive e indicano che la panoramica orizzontale o verticale blocca un asse specifico quando viene avviato principalmente su tale asse. Questo è illustrato in dettaglio sulle pagine delle proprietà di railing.
La configurazione di concatenamento indica se l'input elaborato da un oggetto VisualInteractionSource può passare a un'altra entità quando InteractionTracker raggiunge il valore minimo o massimo in tale direzione. Questa configurazione consentirà di incatenare l'input a un altro InteractionTracker tramite un altro oggetto VisualInteractionSource o a un oggetto Visivo ScrollViewer se l'oggetto visivo di origine di VisualInteractionSource è figlio di ScrollViewer.
Cronologia delle versioni
Versione di Windows | Versione dell'SDK | Valore aggiunto |
---|---|---|
1703 | 15063 | ConfigureCenterPointXModifiers |
1703 | 15063 | ConfigureCenterPointYModifiers |
1703 | 15063 | ConfigurareDeltaPositionXModifiers |
1703 | 15063 | ConfigurareDeltaPositionYModifiers |
1703 | 15063 | ConfigurareDeltaScaleModifiers |
1703 | 15063 | DeltaPosition |
1703 | 15063 | DeltaScale |
1703 | 15063 | Position |
1703 | 15063 | PositionVelocity |
1703 | 15063 | Scalabilità |
1703 | 15063 | ScaleVelocity |
1809 | 17763 | PointerWheelConfig |
1903 | 18362 | CreateFromIVisualElement |
Proprietà
Comment |
Stringa da associare a CompositionObject. (Ereditato da CompositionObject) |
Compositor |
Compositor utilizzato per creare questo CompositionObject. (Ereditato da CompositionObject) |
DeltaPosition |
Quantità di modifica della posizione da applicare durante il fotogramma successivo. Il valore predefinito è 0. Leggibile solo tramite espressione/animazione. |
DeltaScale |
Quantità di modifica della scala da applicare durante il frame successivo. Moltiplicativa. Assume il valore predefinito 1. Leggibile solo tramite espressione/animazione. |
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) |
IsPositionXRailsEnabled |
Indica se la panoramica sull'asse x è sottoposto a railing. La proprietà IsPositionXRailsEnabled definisce la configurazione del railing per quando la panoramica dell'asse X viene inviata all'interactionTracker corrispondente. Se abilitata, se la parte iniziale della panoramica è inclinata all'interno di un intervallo specifico rispetto all'asse X, il componente Y della panoramica viene ignorato e considerato una panoramica orizzontale perfetta. Questa proprietà è spesso abilitata in situazioni in cui è abilitata sia un'esperienza di scorrimento X che Y, ma richiede anche una panoramica orizzontale affidabile e perfetta. |
IsPositionYRailsEnabled |
Indica se la panoramica sull'asse y è guidata. La proprietà IsPositionYRailsEnabled definisce la configurazione del railing per quando la panoramica dell'asse Y viene inviata all'InteractionTracker corrispondente. Se abilitata, se la parte iniziale della panoramica è inclinata all'interno di un intervallo specifico rispetto all'asse Y, il componente X della panoramica viene ignorato e considerato una panoramica verticale perfetta. Questa proprietà è spesso abilitata in situazioni in cui è abilitata un'esperienza di scorrimento X e Y, ma richiede anche una panoramica verticale affidabile e perfetta. |
ManipulationRedirectionMode |
Indica l'input da reindirizzare a InteractionTracker. |
PointerWheelConfig |
Ottiene la configurazione per l'input della rotellina del puntatore. |
Position |
La quantità totale di posizione cambia dall'inizio dell'interazione. Il valore predefinito è 0. Leggibile solo tramite espressione/animazione. |
PositionVelocity |
Frequenza istantanea del cambiamento di posizione nell'interazione, espressa in pixel al secondo. Il valore predefinito è 0. Leggibile solo tramite expression/animation. |
PositionXChainingMode |
La proprietà PositionXChainingMode definisce il comportamento di concatenamento per un oggetto InteractionSource nella direzione X. Esistono tre tipi di InteractionChainingMode : Auto , Always , Never . Quando il concatenamento nella direzione X è abilitato, l'input passerà all'oggetto VisualInteractionSource del predecessore più vicino ogni volta che l'interazione (ad esempio la panoramica) assumerà in caso contrario la posizione di InteractionTracker oltre la posizione minima o massima X. |
PositionXSourceMode |
Modalità di origine per l'asse X. La proprietà PositionXSourceMode definisce la modalità di elaborazione delle interazioni per un oggetto VisualInteractionSource sull'asse X. Esistono 3 tipi di InteractionSourceModetra cui scegliere: Le interazioni sono Disabilitate, EnabledWithInertia e EnabledWithoutInertia. Questa proprietà deve essere abilitata per consentire a VisualInteractionSource di inviare dati dell'asse X a InteractionTracker. |
PositionYChainingMode |
La proprietà PositionYChainingMode definisce il comportamento di concatenamento per un Oggetto InteractionSource nella direzione Y. Esistono tre tipi di InteractionChainingMode : Auto , Always , Never . Quando il concatenamento nella direzione Y è abilitato, l'input passerà all'oggetto VisualInteractionSource del predecessore più vicino ogni volta che l'interazione (ad esempio la panoramica) assumerà in caso contrario la posizione di InteractionTracker oltre la posizione minima o massima di Y. |
PositionYSourceMode |
Modalità di origine per l'asse Y. La proprietà PositionYSourceMode definisce la modalità di elaborazione delle interazioni per un oggetto VisualInteractionSource sull'asse Y. Esistono 3 tipi di InteractionSourceModetra cui scegliere: Le interazioni sono Disabilitate, EnabledWithInertia e EnabledWithoutInertia. Questa proprietà deve essere abilitata per consentire a VisualInteractionSource di inviare dati dell'asse Y a InteractionTracker. |
Properties |
Raccolta di proprietà associate a CompositionObject. (Ereditato da CompositionObject) |
Scale |
Differenza percentuale totale in scala dall'inizio dell'interazione. Moltiplicativa. Assume il valore predefinito 1. Leggibile solo tramite espressione/animazione. |
ScaleChainingMode |
La proprietà ScaleChainingMode definisce il comportamento di concatenamento per un oggetto InteractionSource nella direzione Scale. Esistono tre tipi di InteractionChainingMode : Auto, Always, Never. Quando il concatenamento della scalabilità è abilitato, l'input passerà alla posizione visualInteractionSource del predecessore più vicino ogni volta che l'interazione (ad esempio la panoramica) accetta in caso contrario la posizione di InteractionTracker oltre la posizione minima o massima di Scale. |
ScaleSourceMode |
Definisce la modalità di elaborazione delle interazioni per un oggetto VisualInteractionSource sull'asse della scala. Esistono 3 tipi di InteractionSourceModetra cui scegliere: Le interazioni sono Disabilitate , EnabledWithInertia e EnabledWithoutInertia . Questa proprietà deve essere abilitata per consentire a VisualInteractionSource di inviare dati di scalabilità a InteractionTracker. |
ScaleVelocity |
Frequenza istantanea della modifica della scala nell'interazione, in percentuale al secondo. Additivo. Il valore predefinito è 0. Leggibile solo tramite espressione/animazione. |
Source |
L'oggetto visivo usato per il test di hit-testing e definisce lo spazio coordinato per il riconoscimento dei movimenti. |
Metodi
Close() |
Chiude CompositionObject e rilascia le risorse di sistema. (Ereditato da CompositionObject) |
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>) |
Accetta un elenco ordinato di CompositionConditionalValue. In un frame, il primo CompositionConditionalValue per avere il relativo ". Condizione" restituisce true sostituisce il valore di Zoom CenterPointX fornito da VisualInteractionSource con il relativo ". Valore". Se nessuno restituisce true, CenterPointX non viene sostituito da tale frame. |
ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>) |
Accetta un elenco ordinato di CompositionConditionalValue. In un frame, il primo CompositionConditionalValue per avere il relativo ". Condizione" restituisce true sostituisce il valore di Zoom CenterPointY fornito da VisualInteractionSource con il relativo ". Valore". Se nessuno restituisce true, CenterPointY non viene sostituito da tale frame. |
ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>) |
Accetta un elenco ordinato di CompositionConditionalValue. In un frame, il primo CompositionConditionalValue per avere il relativo ". Condizione" restituisce true sostituisce il valore DeltaPositionX fornito da VisualInteractionSource con il relativo ". Valore". Se nessuno restituisce true, DeltaPositionX non viene sostituito da tale frame. |
ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>) |
Accetta un elenco ordinato di CompositionConditionalValue. In un frame, il primo CompositionConditionalValue per avere il relativo ". Condizione" restituisce true sostituisce il valore DeltaPositionY fornito da VisualInteractionSource con il valore ". Valore". Se nessuno restituisce true, DeltaPositionY non viene sostituito da tale frame. |
ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>) |
Accetta un elenco ordinato di CompositionConditionalValue. In un frame, il primo CompositionConditionalValue per avere il relativo ". Condizione" restituisce true sostituisce il valore DeltaScale fornito da VisualInteractionSource con il relativo ". Valore". Se nessuno restituisce true, DeltaScale non viene sostituito da tale frame. |
ConnectAnimation(String, CompositionAnimation) |
Connette e animazione. (Ereditato da CompositionObject) |
Create(Visual) |
Crea un'istanza di VisualInteractionSource. |
CreateFromIVisualElement(IVisualElement) |
Crea un'istanza di VisualInteractionSource da un elemento che implementa IVisualElement. |
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) |
TryRedirectForManipulation(PointerPoint) |
Indica che le manipolazioni configurate per il flusso del puntatore specificato devono essere inviate al thread dell'interfaccia utente di InteractionTracker, non al thread dell'interfaccia utente dell'app, a partire dal puntoerpoint specificato. TryRedirectForManipulation consente a VisualInteractionSource di reindirizzare il flusso puntatore all'interactionTracker se il movimento corrisponde alla configurazione in VisualInteractionSource. Questo metodo deve essere chiamato solo con l'input puntatore del tocco DeviceType. |