Compartir a través de


VisualInteractionSource Clase

Definición

Objeto para configurar la entrada en interactionTracker en relación con un objeto visual.

VisualInteractionSource está diseñado para usarse solo con InteractionTracker y define qué entrada se enviará a InteractionTracker para controlar su estado y sus propiedades. Esta clase contiene el objeto visual que se va a usar para las pruebas de posicionamiento, así como una variedad de propiedades de configuración para las que se enviarán gestos y tipos de entrada a InteractionTracker.

[WebHostHidden]
public ref class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [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)]
[WebHostHidden]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [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)]
[WebHostHidden]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[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 class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[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 class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
Public Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
Herencia
Object Platform::Object IInspectable CompositionObject VisualInteractionSource
Atributos
Implementaciones

Ejemplos

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

Comentarios

VisualInteractionSource se usa para definir propiedades importantes sobre los tipos de interacciones que deben conducir el estado y las propiedades de InteractionTracker. La propiedad source se usa tanto para las pruebas de posicionamiento como para el espacio de coordenadas para la detección de gestos. Como resultado, es importante usar un objeto Visual que no va a estar en movimiento durante la manipulación. Varios visualInteractionSources se pueden asociar con el mismo InteractionTracker si hay varias regiones de prueba de posicionamiento, pero los casos más comunes requieren solo un objeto VisualInteractionSource para un objeto InteractionTracker determinado.

VisualInteractionSource es la clase para configurar qué tipos de gestos se deben tener en cuenta para impulsar InteractionTracker. La posición X e Y están asociadas con el movimiento panorámico horizontal y vertical respectivamente. La escala se detecta con un gesto de reducción, a menudo asociado con el zoom. Estos tres modos de origen son todos configurables para la entrada táctil y el Panel táctil de precisión. Cada uno de estos modos de origen se puede habilitar con o sin inercia:

  • La habilitación de la inercia indica que la posición o la escala se interpolarán de forma natural desde la velocidad de liberación a ninguna velocidad durante el estado de inercia.

  • Deshabilitar la inercia indica que la velocidad de posición o escala irá inmediatamente a 0 tras la finalización de la interacción. Cuando la entrada que controla la posición o la escala se enruta a InteractionTracker, la propiedad InteractionTracker del mismo nombre se actualizará correctamente.

Las configuraciones de rails indican cómo se detectará el gesto. Los raíles, de forma predeterminada, están activados e indican que el movimiento panorámico horizontal o vertical se bloqueará en un eje determinado cuando se inicie principalmente en ese eje. Esto se explica con más detalle en las páginas de propiedades de raíl.

La configuración de encadenamiento indica si una entrada procesada por visualInteractionSource puede fluir a otra entidad cuando InteractionTracker alcanza el mínimo o máximo en esa dirección. Esta configuración permitirá que la entrada se encadene a otro InteractionTracker a través de otro objeto VisualInteractionSource o a un ScrollViewer si el objeto visual de origen de VisualInteractionSource es un elemento secundario del ScrollViewer.

Propiedades

Comment

Cadena que se va a asociar con compositionObject.

(Heredado de CompositionObject)
Compositor

Compositor que se usa para crear este CompositionObject.

(Heredado de CompositionObject)
DeltaPosition

La cantidad de cambio de posición que se aplicará durante el próximo fotograma. El valor predeterminado es 0. Solo se puede leer a través de la expresión o animación.

DeltaScale

La cantidad de cambio de escala que se aplicará durante el próximo fotograma. Multiplicativo. De manera predeterminada, su valor es 1. Solo se puede leer a través de la expresión o animación.

DispatcherQueue

Obtiene dispatcherQueue para compositionObject.

(Heredado de CompositionObject)
ImplicitAnimations

Colección de animaciones implícitas adjuntas a este objeto.

(Heredado de CompositionObject)
IsPositionXRailsEnabled

Indica si el movimiento panorámico en el eje X está raílizado.

La propiedad IsPositionXRailsEnabled define la configuración de raíl para cuando se envía el movimiento panorámico del eje X al Objeto InteractionTracker correspondiente. Cuando se habilita, si la parte inicial del panel se inclina dentro de un intervalo determinado con respecto al eje X, se omite el componente Y del panel y se considera un movimiento panorámico horizontal perfecto. Esta propiedad suele habilitarse en situaciones en las que se habilita una experiencia de desplazamiento X e Y, además, requiere un movimiento panorámico horizontal perfecto y confiable.

IsPositionYRailsEnabled

Indica si el movimiento panorámico en el eje Y está raílizado.

La propiedad IsPositionYRailsEnabled define la configuración de raíl para cuando el movimiento panorámico del eje Y se envía al InteractionTracker correspondiente. Cuando se habilita, si la parte inicial del panel se inclina dentro de un intervalo determinado con respecto al eje Y, el componente X del panel se omite y se considera un movimiento panorámico vertical perfecto. Esta propiedad suele habilitarse en situaciones en las que se habilita una experiencia de desplazamiento X e Y, además, requiere un movimiento panorámico vertical perfecto y confiable.

ManipulationRedirectionMode

Indica qué entrada se debe redirigir a InteractionTracker.

PointerWheelConfig

Obtiene la configuración de la entrada de la rueda del puntero.

Position

La cantidad total de cambios de posición desde el inicio de la interacción. El valor predeterminado es 0. Solo se puede leer a través de la expresión o animación.

PositionVelocity

Velocidad instantánea de cambio de posición en la interacción, en píxeles por segundo. El valor predeterminado es 0. Solo se puede leer a través de la expresión o animación.

PositionXChainingMode

La propiedad PositionXChainingMode define el comportamiento de encadenamiento de interactionSource en la dirección X. Hay tres tipos InteractionChainingMode :

  • Automático
  • Siempre
  • Nunca

Cuando se habilita el encadenamiento en la dirección X, la entrada fluirá al visualInteractionSource del antecesor más cercano siempre que la interacción (como el movimiento panorámico) tome la posición de InteractionTracker más allá de su posición mínima o máxima X.

PositionXSourceMode

Modo de origen para el eje X.

La propiedad PositionXSourceMode define cómo se procesan las interacciones de un objeto VisualInteractionSource en el eje X. Hay tres tipos InteractionSourceMode entre los que elegir:

  • Las interacciones están deshabilitadas
  • EnabledWithInertia
  • EnabledWithoutInertia

Esta propiedad debe estar habilitada para permitir que VisualInteractionSource envíe datos del eje X a InteractionTracker.

PositionYChainingMode

La propiedad PositionYChainingMode define el comportamiento de encadenamiento de interactionSource en la dirección Y. Hay tres tipos de InteractionChainingMode s: Auto , Always , Never . Cuando se habilita el encadenamiento en la dirección Y, la entrada fluirá al visualInteractionSource del antecesor más cercano siempre que la interacción (como el movimiento panorámico) tome la posición de InteractionTracker más allá de su posición mínima o máxima Y.

PositionYSourceMode

Modo de origen para el eje Y.

La propiedad PositionYSourceMode define cómo se procesan las interacciones de un objeto VisualInteractionSource en el eje Y. Hay tres tipos InteractionSourceMode entre los que elegir:

  • Las interacciones están deshabilitadas
  • EnabledWithInertia
  • EnabledWithoutInertia

Esta propiedad debe estar habilitada para permitir que VisualInteractionSource envíe datos del eje Y a InteractionTracker.

Properties

Colección de propiedades asociadas a CompositionObject.

(Heredado de CompositionObject)
Scale

Diferencia de porcentaje total en la escala desde el inicio de la interacción. Multiplicativo. De manera predeterminada, su valor es 1. Solo se puede leer a través de la expresión o animación.

ScaleChainingMode

La propiedad ScaleChainingMode define el comportamiento de encadenamiento de interactionSource en la dirección de la escala. Hay tres tipos de InteractionChainingMode s: Auto, Always, Never. Cuando se habilita el encadenamiento de escalado, la entrada fluirá al visualInteractionSource del antecesor más cercano siempre que la interacción (como el movimiento panorámico) tome la posición de InteractionTracker más allá de su posición mínima o máxima.

ScaleSourceMode

Define cómo se procesan las interacciones de un objeto VisualInteractionSource en el eje de escala. Hay tres tipos InteractionSourceMode entre los que elegir:

  • Deshabilitada
  • EnabledWithInertia
  • EnabledWithoutInertia

Esta propiedad debe estar habilitada para permitir que VisualInteractionSource envíe datos de escalado a InteractionTracker.

ScaleVelocity

Tasa instantánea de cambio de escala en la interacción, en porcentaje por segundo. Aditivo. El valor predeterminado es 0. Solo se puede leer a través de la expresión o animación.

Source

Objeto visual que se usa para las pruebas de posicionamiento y define el espacio coordinado para el reconocimiento de gestos.

Métodos

Close()

Cierra compositionObject y libera los recursos del sistema.

(Heredado de CompositionObject)
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>)

Toma una lista ordenada de CompositionConditionalValue. En un marco, el primer CompositionConditionalValue para tener su ". Condition" evaluate to true replaces the zoom CenterPointX value the VisualInteractionSource provides with its ". Valor". Si ninguno se evalúa como true, CenterPointX no se reemplaza en ese marco.

ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>)

Toma una lista ordenada de CompositionConditionalValue. En un marco, el primer CompositionConditionalValue para tener su ". Condition" evaluate to true replaces the zoom CenterPointY value the VisualInteractionSource provides with its ". Valor". Si ninguno se evalúa como true, CenterPointY no se reemplaza en ese marco.

ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>)

Toma una lista ordenada de CompositionConditionalValue. En un marco, el primer CompositionConditionalValue para tener su ". Condition" evaluate to true replaces the DeltaPositionX value the VisualInteractionSource provides with its ". Valor". Si ninguno se evalúa como true, DeltaPositionX no se reemplaza en ese marco.

ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>)

Toma una lista ordenada de CompositionConditionalValue. En un marco, el primer CompositionConditionalValue para tener su ". Condition" evaluate to true replaces the DeltaPositionY value the VisualInteractionSource provides with its ". Valor". Si ninguno se evalúa como true, DeltaPositionY no se reemplaza en ese marco.

ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>)

Toma una lista ordenada de CompositionConditionalValue. En un marco, el primer CompositionConditionalValue para tener su ". Condition" evaluate to true replaces the DeltaScale value the VisualInteractionSource provides with its ". Valor". Si ninguno se evalúa como true, DeltaScale no se reemplaza a ese fotograma.

Create(Visual)

Crea una instancia de VisualInteractionSource.

CreateFromIVisualElement(IVisualElement)

Crea una instancia de VisualInteractionSource a partir de un elemento que implementa IVisualElement.

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

(Heredado de CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Define una propiedad que se puede animar.

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Conecta una animación con la propiedad especificada del objeto e inicia la animación.

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation)

Conecta una animación con la propiedad especificada del objeto e inicia la animación.

(Heredado de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Inicia un grupo de animación.

El método StartAnimationGroup en CompositionObject permite iniciar CompositionAnimationGroup. Todas las animaciones del grupo se iniciarán al mismo tiempo en el objeto .

(Heredado de CompositionObject)
StopAnimation(String)

Desconecta una animación de la propiedad especificada y detiene la animación.

(Heredado de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Detiene un grupo de animaciones.

(Heredado de CompositionObject)
TryGetAnimationController(String)

Devuelve un AnimationController para la animación que se ejecuta en la propiedad especificada.

(Heredado de CompositionObject)
TryRedirectForManipulation(ExpPointerPoint)

Objeto para configurar la entrada en interactionTracker en relación con un objeto visual.

VisualInteractionSource está diseñado para usarse solo con InteractionTracker y define qué entrada se enviará a InteractionTracker para controlar su estado y sus propiedades. Esta clase contiene el objeto visual que se va a usar para las pruebas de posicionamiento, así como una variedad de propiedades de configuración para las que se enviarán gestos y tipos de entrada a InteractionTracker.

TryRedirectForManipulation(PointerPoint)

Intenta enviar manipulaciones configuradas para el flujo de puntero determinado a InteractionTracker, no al subproceso de interfaz de usuario de la aplicación, empezando en el PointerPoint determinado.

Importante

Solo se debe llamar a este método con un PointerDeviceType de Touch.

Se aplica a

Consulte también