VisualInteractionSource Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Objeto para configurar la entrada en interactionTracker con respecto a un objeto visual.
VisualInteractionSource está diseñado para usarse solo con InteractionTracker y define qué entrada se enviará a InteractionTracker para impulsar 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.
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
- Herencia
- Atributos
- Implementaciones
Requisitos de Windows
Familia de dispositivos |
Windows 10 Anniversary Edition (se introdujo en la versión 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v3.0)
|
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 controlar 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 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 al movimiento panorámico horizontal y vertical, respectivamente. La escala se detecta con un gesto de reducir, a menudo asociado al zoom. Estos tres modos de origen son todos configurables para la entrada táctil y precision Touchpad. 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 posición o la velocidad de escala pasarán 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 raíles 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 VisualInteractionSource o a un ScrollViewer si el objeto visual de origen de VisualInteractionSource es un elemento secundario del ScrollViewer.
Historial de versiones
Versión de Windows | Versión del SDK | Valor agregado |
---|---|---|
1703 | 15063 | ConfigureCenterPointXModifiers |
1703 | 15063 | ConfigureCenterPointYModifiers |
1703 | 15063 | ConfigureDeltaPositionXModifiers |
1703 | 15063 | ConfigureDeltaPositionYModifiers |
1703 | 15063 | ConfigureDeltaScaleModifiers |
1703 | 15063 | DeltaPosition |
1703 | 15063 | DeltaScale |
1703 | 15063 | Posición |
1703 | 15063 | PositionVelocity |
1703 | 15063 | Escala |
1703 | 15063 | ScaleVelocity |
1809 | 17763 | PointerWheelConfig |
1903 | 18362 | CreateFromIVisualElement |
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. |
Dispatcher |
Distribuidor de CompositionObject. (Heredado de CompositionObject) |
DispatcherQueue |
Obtiene dispatcherQueue para CompostionObject. (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 de InteractionChainingMode s: Auto , Always , Never . 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 3 tipos de InteractionSourceModeentre los que elegir: Las interacciones son Disabled, EnabledWithInertia y 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 3 tipos de InteractionSourceModeentre los que elegir: Las interacciones son Disabled, EnabledWithInertia y 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 3 tipos de InteractionSourceModeentre los que elegir: Las interacciones son Disabled , EnabledWithInertia y 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. |
ConnectAnimation(String, CompositionAnimation) |
Conecta y animación. (Heredado de CompositionObject) |
Create(Visual) |
Crea una instancia de VisualInteractionSource. |
CreateFromIVisualElement(IVisualElement) |
Crea una instancia de VisualInteractionSource a partir de un elemento que implementa IVisualElement. |
DisconnectAnimation(String) |
Desconecta una animación. (Heredado de CompositionObject) |
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(PointerPoint) |
Indica que las manipulaciones configuradas para el flujo de puntero especificado se deben enviar al objeto InteractionTracker, no al subproceso de interfaz de usuario de la aplicación, empezando en el pointerPoint especificado. TryRedirectForManipulation permite que VisualInteractionSource redirija la secuencia de puntero a InteractionTracker si el gesto coincide con la configuración en VisualInteractionSource. Solo se debe llamar a este método con la entrada puntero de DeviceType Touch. |