Partager via


VisualInteractionSource Classe

Définition

Objet permettant de configurer l’entrée dans InteractionTracker par rapport à un visuel.

VisualInteractionSource est conçu pour être utilisé uniquement avec InteractionTracker et définit l’entrée qui sera envoyée à InteractionTracker pour piloter son état et ses propriétés. Cette classe contient à la fois le visuel à utiliser pour le test d’accès, ainsi qu’une variété de propriétés de configuration pour lesquelles les mouvements et les types d’entrée seront envoyés à 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
Héritage
Object Platform::Object IInspectable CompositionObject VisualInteractionSource
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 Anniversary Edition (introduit dans 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v3.0)

Exemples

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

Remarques

VisualInteractionSource est utilisé pour définir des propriétés importantes sur les types d’interactions qui doivent conduire l’état et les propriétés d’InteractionTracker. La propriété source est utilisée à la fois pour les tests d’accès, ainsi que pour l’espace de coordonnées pour la détection des mouvements. Par conséquent, il est important d’utiliser un visuel qui ne sera pas en mouvement pendant la manipulation. Plusieurs VisualInteractionSources peuvent être associés au même InteractionTracker s’il existe plusieurs régions de test d’accès, mais les cas les plus courants nécessitent un seul VisualInteractionSource pour une InteractionTracker donnée.

VisualInteractionSource est la classe permettant de configurer les types de mouvements qui doivent être pris en compte pour piloter InteractionTracker. Les positions X et Y sont associées respectivement à des panoramiques horizontaux et verticaux. La mise à l’échelle est détectée avec un mouvement de pincement, souvent associé au zoom. Ces trois modes sources sont tous configurables pour l’entrée tactile et le pavé tactile de précision. Chacun de ces modes sources peut être activé avec ou sans inertie :

  • L’activation de l’inertie indique que la position ou l’échelle interpolera naturellement de la vitesse de libération à aucune vitesse pendant l’état d’inertie.

  • La désactivation de l’inertie indique que la position ou la vitesse d’échelle passe immédiatement à 0 à la fin de l’interaction. Lorsque l’entrée qui pilote la position ou la mise à l’échelle est routée vers InteractionTracker, la propriété InteractionTracker du même nom est mise à jour de manière appropriée.

Les configurations des rails indiquent comment le mouvement sera détecté. Rails, par défaut, est activé et indique que le panoramique horizontal ou vertical se verrouille sur un axe particulier lorsqu’il est démarré principalement sur cet axe. Cela est expliqué plus en détail dans les pages de propriétés de balustrade.

La configuration de chaînage indique si l’entrée traitée par un VisualInteractionSource peut être transmise à une autre entité lorsque l’InteractionTracker atteint la valeur minimale ou maximale dans cette direction. Cette configuration permet à l’entrée de chaîner à un autre InteractionTracker via un autre VisualInteractionSource, ou à un ScrollViewer si le visuel source de VisualInteractionSource est un enfant de ScrollViewer.

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1703 15063 ConfigurerCenterPointXModifiers
1703 15063 ConfigurerCenterPointYModifiers
1703 15063 ConfigureDeltaPositionXModifiers
1703 15063 ConfigureDeltaPositionYModifiers
1703 15063 ConfigureDeltaScaleModifiers
1703 15063 DeltaPosition
1703 15063 DeltaScale
1703 15063 Position
1703 15063 PositionVelocity
1703 15063 Scale
1703 15063 ScaleVelocity
1809 17763 PointerWheelConfig
1903 18362 CreateFromIVisualElement

Propriétés

Comment

Chaîne à associer à l’objet CompositionObject.

(Hérité de CompositionObject)
Compositor

Compositeur utilisé pour créer cet Objet CompositionObject.

(Hérité de CompositionObject)
DeltaPosition

Quantité de changement de position à appliquer pendant le frame à venir. La valeur par défaut est 0. Accessible en lecture uniquement via l’expression/l’animation.

DeltaScale

Quantité de modification d’échelle à appliquer pendant le frame à venir. Multiplicatif. La valeur par défaut est de 1. Accessible en lecture uniquement via l’expression/l’animation.

Dispatcher

Répartiteur de l’objet CompositionObject.

(Hérité de CompositionObject)
DispatcherQueue

Obtient dispatcherQueue pour compostionObject.

(Hérité de CompositionObject)
ImplicitAnimations

Collection d’animations implicites attachées à cet objet.

(Hérité de CompositionObject)
IsPositionXRailsEnabled

Indique si le mouvement panoramique sur l’axe X est raillé.

La propriété IsPositionXRailsEnabled définit la configuration de railing pour le moment où le panoramique de l’axe X est envoyé à l’InteractionTracker correspondant. Lorsque cette option est activée, si la partie initiale du panoramique est inclinée dans une plage particulière par rapport à l’axe X, le composant Y du panoramique est ignoré et considéré comme un panoramique horizontal parfait. Cette propriété est souvent activée dans les situations où une expérience de défilement X et Y est activée, mais nécessite également un mouvement panoramique horizontal fiable et parfait.

IsPositionYRailsEnabled

Indique si le mouvement panoramique sur l’axe y est raillé.

La propriété IsPositionYRailsEnabled définit la configuration de railing pour le moment où le panoramique de l’axe Y est envoyé à l’InteractionTracker correspondant. Lorsque cette option est activée, si la partie initiale du panoramique est inclinée dans une plage particulière par rapport à l’axe Y, le composant X du panoramique est ignoré et considéré comme un panoramique vertical parfait. Cette propriété est souvent activée dans les situations où une expérience de défilement X et Y est activée, mais nécessite également un mouvement panoramique vertical fiable et parfait.

ManipulationRedirectionMode

Indique quelle entrée doit être redirigée vers InteractionTracker.

PointerWheelConfig

Obtient la configuration de l’entrée de roue de pointeur.

Position

Quantité totale de changement de position depuis le début de l’interaction. La valeur par défaut est 0. Accessible en lecture uniquement via l’expression/l’animation.

PositionVelocity

Taux instantané de changement de position dans l’interaction, en pixels par seconde. La valeur par défaut est 0. En lecture seule via l’expression/animation.

PositionXChainingMode

La propriété PositionXChainingMode définit le comportement de chaînage d’une InteractionSource dans la direction X. Il existe trois types d’InteractionChainingMode : Auto , Always , Never . Lorsque le chaînage dans la direction X est activé, l’entrée est transmise au VisualInteractionSource de l’ancêtre le plus proche chaque fois que l’interaction (par exemple, le mouvement panoramique) prend la position d’InteractionTracker au-delà de sa position X minimale ou maximale.

PositionXSourceMode

Mode source pour l’axe X.

La propriété PositionXSourceMode définit la façon dont les interactions sont traitées pour un VisualInteractionSource sur l’axe X. Vous avez le choix entre trois types d’InteractionSourceMode: Les interactions sont Désactivées, EnabledWithInertia et EnabledWithoutInertia. Cette propriété doit être activée pour permettre à VisualInteractionSource d’envoyer des données de l’axe X à InteractionTracker.

PositionYChainingMode

La propriété PositionYChainingMode définit le comportement de chaînage d’une InteractionSource dans la direction Y. Il existe trois types d’InteractionChainingMode : Auto , Always , Never . Lorsque le chaînage dans la direction Y est activé, l’entrée est transmise au VisualInteractionSource de l’ancêtre le plus proche chaque fois que l’interaction (par exemple, le mouvement panoramique) prend la position d’InteractionTracker au-delà de sa position Y minimale ou maximale.

PositionYSourceMode

Mode source pour l’axe Y.

La propriété PositionYSourceMode définit la façon dont les interactions sont traitées pour un Élément VisualInteractionSource sur l’axe Y. Vous avez le choix entre trois types d’InteractionSourceMode: Les interactions sont Désactivées, EnabledWithInertia et EnabledWithoutInertia. Cette propriété doit être activée pour permettre à VisualInteractionSource d’envoyer des données de l’axe Y à InteractionTracker.

Properties

Collection de propriétés associées à CompositionObject.

(Hérité de CompositionObject)
Scale

Pourcentage-différence d’échelle totale depuis le début de l’interaction. Multiplicatif. La valeur par défaut est de 1. Accessible en lecture uniquement via l’expression/l’animation.

ScaleChainingMode

La propriété ScaleChainingMode définit le comportement de chaînage d’une InteractionSource dans la direction de la mise à l’échelle. Il existe trois types d’InteractionChainingMode : Auto, Always, Jamais. Lorsque le chaînage de mise à l’échelle est activé, l’entrée est transmise au VisualInteractionSource de l’ancêtre le plus proche chaque fois que l’interaction (par exemple, le mouvement panoramique) prend la position d’InteractionTracker au-delà de sa position d’échelle minimale ou maximale.

ScaleSourceMode

Définit la façon dont les interactions sont traitées pour un VisualInteractionSource sur l’axe d’échelle. Vous avez le choix entre trois types d’InteractionSourceMode: Les interactions sont Disabled , EnabledWithInertia et EnabledWithoutInertia . Cette propriété doit être activée pour permettre à VisualInteractionSource d’envoyer des données de mise à l’échelle à InteractionTracker.

ScaleVelocity

Taux instantané de changement d’échelle dans l’interaction, en pourcentage par seconde. Additif. La valeur par défaut est 0. Readble uniquement via l’expression/animation.

Source

Visuel utilisé pour les tests d’accès et définit l’espace de coordination pour la reconnaissance gestuelle.

Méthodes

Close()

Ferme l’objet CompositionObject et libère les ressources système.

(Hérité de CompositionObject)
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>)

Prend une liste triée de CompositionConditionalValue. Dans un frame, la première CompositionConditionalValue à avoir son . Condition " evaluate to true remplace la valeur de zoom CenterPointX fourni par VisualInteractionSource avec son « . Valeur ». Si aucun n’a la valeur true, centerPointX n’est pas remplacé par ce cadre.

ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>)

Prend une liste triée de CompositionConditionalValue. Dans un frame, la première CompositionConditionalValue à avoir son . Condition " evaluate to true remplace la valeur de zoom CenterPointY que VisualInteractionSource fournit avec son « . Valeur ». Si aucun n’a la valeur true, centerPointY n’est pas remplacé par ce frame.

ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>)

Prend une liste triée de CompositionConditionalValue. Dans un frame, la première CompositionConditionalValue à avoir son . Condition " evaluate to true remplace la valeur DeltaPositionX que VisualInteractionSource fournit avec son « . Valeur ». Si aucun n’a la valeur true, deltaPositionX n’est pas remplacé par ce frame.

ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>)

Prend une liste triée de CompositionConditionalValue. Dans un frame, la première CompositionConditionalValue à avoir son . Condition " evaluate to true remplace la valeur DeltaPositionY que VisualInteractionSource fournit avec son « . Valeur ». Si aucun n’a la valeur true, DeltaPositionY n’est pas remplacé par ce frame.

ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>)

Prend une liste triée de CompositionConditionalValue. Dans un frame, la première CompositionConditionalValue à avoir son . Condition " evaluate to true remplace la valeur DeltaScale que VisualInteractionSource fournit avec son « . Valeur ». Si aucun n’a la valeur true, deltaScale n’est pas remplacé par ce frame.

ConnectAnimation(String, CompositionAnimation)

Se connecte et animation.

(Hérité de CompositionObject)
Create(Visual)

Crée une instance de VisualInteractionSource.

CreateFromIVisualElement(IVisualElement)

Crée une instance de VisualInteractionSource à partir d’un élément qui implémente IVisualElement.

DisconnectAnimation(String)

Déconnecte une animation.

(Hérité de CompositionObject)
Dispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.

(Hérité de CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Définit une propriété qui peut être animée.

(Hérité de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Connecte une animation avec la propriété spécifiée de l’objet et démarre l’animation.

(Hérité de CompositionObject)
StartAnimation(String, CompositionAnimation)

Connecte une animation avec la propriété spécifiée de l’objet et démarre l’animation.

(Hérité de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Démarre un groupe d’animations.

La méthode StartAnimationGroup sur CompositionObject vous permet de démarrer CompositionAnimationGroup. Toutes les animations du groupe sont démarrées en même temps sur l’objet .

(Hérité de CompositionObject)
StopAnimation(String)

Déconnecte une animation de la propriété spécifiée et arrête l’animation.

(Hérité de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Arrête un groupe d’animations.

(Hérité de CompositionObject)
TryGetAnimationController(String)

Renvoie un AnimationController pour l’animation en cours d’exécution sur la propriété spécifiée.

(Hérité de CompositionObject)
TryRedirectForManipulation(PointerPoint)

Indique que les manipulations configurées pour le flux de pointeur donné doivent être envoyées à InteractionTracker, et non au thread d’interface utilisateur de l’application, en commençant à pointerPoint donné.

TryRedirectForManipulation permet à VisualInteractionSource de rediriger le flux de pointeur vers InteractionTracker si le mouvement correspond à la configuration sur visualInteractionSource. Cette méthode ne doit être appelée qu’avec l’entrée Pointeur du DeviceType Touch.

S’applique à

Voir aussi