VisualInteractionSource Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Objeto para configurar a entrada para o InteractionTracker em relação a um visual.
O VisualInteractionSource foi projetado para ser usado apenas com InteractionTracker e define qual entrada será enviada ao InteractionTracker para impulsionar seu estado e propriedades. Essa classe contém o visual a ser usado para teste de clique, bem como uma variedade de propriedades de configuração para as quais gestos e tipos de entrada serão enviados para o 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
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 Anniversary Edition (introduzida na 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v3.0)
|
Exemplos
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);
}
Comentários
O VisualInteractionSource é usado para definir propriedades importantes sobre os tipos de interações que devem impulsionar o estado e as propriedades do InteractionTracker. A propriedade de origem é usada para teste de clique, bem como o espaço de coordenadas para detecção de gestos. Como resultado, é importante usar um Visual que não estará em movimento durante a manipulação. Vários VisualInteractionSources podem ser associados ao mesmo InteractionTracker se houver várias regiões de teste de clique, mas os casos mais comuns exigem apenas um VisualInteractionSource para um determinado InteractionTracker.
VisualInteractionSource é a classe para configurar quais tipos de gestos devem ser considerados para conduzir o InteractionTracker. As posições X e Y estão associadas ao movimento panorâmico horizontal e vertical, respectivamente. A escala é detectada com um gesto de pinçagem, geralmente associado ao zoom. Esses três modos de origem são configuráveis para entrada touch e Precision Touchpad. Cada um desses modos de origem pode ser habilitado com ou sem inércia:
Habilitar a inércia indica que a posição ou a escala serão naturalmente interpoladas da velocidade de liberação para nenhuma velocidade durante o estado de inércia.
Desabilitar a inércia indica que a velocidade de posição ou escala irá imediatamente para 0 após a conclusão da interação. Quando a entrada que direciona a posição ou a escala é roteada para o InteractionTracker, a propriedade InteractionTracker de mesmo nome será atualizada adequadamente.
As configurações de trilhos indicam como o gesto será detectado. Os trilhos, por padrão, estão ativados e indicam que a panela horizontal ou vertical será bloqueada para um eixo específico quando iniciada principalmente nesse eixo. Isso é explicado mais detalhadamente nas páginas de propriedades de grade.
A configuração de encadeamento indica se a entrada processada por um VisualInteractionSource pode fluir para outra entidade quando o InteractionTracker atinge o mínimo ou o máximo nessa direção. Essa configuração permitirá que a entrada encadeie para outro InteractionTracker por meio de outro VisualInteractionSource ou para um ScrollViewer se o visual de origem do VisualInteractionSource for filho do ScrollViewer.
Histórico de versão
Versão do Windows | Versão do SDK | Valor adicionado |
---|---|---|
1703 | 15063 | ConfigureCenterPointXModifiers |
1703 | 15063 | ConfigureCenterPointYModifiers |
1703 | 15063 | ConfigureDeltaPositionXModifiers |
1703 | 15063 | ConfigureDeltaPositionYModifiers |
1703 | 15063 | ConfigureDeltaScaleModifiers |
1703 | 15063 | DeltaPosition |
1703 | 15063 | DeltaScale |
1703 | 15063 | Posição |
1703 | 15063 | PositionVelocity |
1703 | 15063 | Escala |
1703 | 15063 | ScaleVelocity |
1809 | 17763 | PointerWheelConfig |
1903 | 18362 | CreateFromIVisualElement |
Propriedades
Comment |
Uma cadeia de caracteres a ser associada ao CompositionObject. (Herdado de CompositionObject) |
Compositor |
O Compositor usado para criar esse CompositionObject. (Herdado de CompositionObject) |
DeltaPosition |
A quantidade de alteração de posição a ser aplicada durante o próximo quadro. Assume o padrão de 0. Legível somente por meio de expressão/animação. |
DeltaScale |
A quantidade de alteração de escala a ser aplicada durante o próximo quadro. Multiplicativo. O valor padrão é 1. Legível somente por meio de expressão/animação. |
Dispatcher |
O dispatcher para CompositionObject. (Herdado de CompositionObject) |
DispatcherQueue |
Obtém o DispatcherQueue para o CompostionObject. (Herdado de CompositionObject) |
ImplicitAnimations |
A coleção de animações implícitas anexadas a esse objeto. (Herdado de CompositionObject) |
IsPositionXRailsEnabled |
Indica se o movimento panorâmico no eixo x está limitado. A propriedade IsPositionXRailsEnabled define a configuração de grade para quando o movimento panorâmico do eixo X é enviado para o InteractionTracker correspondente. Quando habilitada, se a parte inicial da panela for angulada em um intervalo específico em relação ao eixo X, o componente Y da panela será ignorado e considerado uma panela horizontal perfeita. Essa propriedade geralmente é habilitada em situações em que uma experiência de rolagem X e Y está habilitada, mas também requer um movimento panorâmico horizontal confiável e perfeito. |
IsPositionYRailsEnabled |
Indica se o movimento panorâmico no eixo y está gradeado. A propriedade IsPositionYRailsEnabled define a configuração de grade para quando o movimento panorâmico do eixo Y é enviado para o InteractionTracker correspondente. Quando habilitado, se a parte inicial da panela for angulada em um intervalo específico em relação ao eixo Y, o componente X da panela será ignorado e considerado uma panela vertical perfeita. Essa propriedade geralmente é habilitada em situações em que uma experiência de rolagem X e Y está habilitada, mas também requer um movimento panorâmico vertical confiável e perfeito. |
ManipulationRedirectionMode |
Indica qual entrada deve ser redirecionada para o InteractionTracker. |
PointerWheelConfig |
Obtém a configuração para entrada de roda de ponteiro. |
Position |
A quantidade total de alteração de posição desde o início da interação. Assume o padrão de 0. Legível somente por meio de expressão/animação. |
PositionVelocity |
A taxa instantânea de alteração de posição na interação, em pixels por segundo. Assume o padrão de 0. Legível somente por meio de expressão/animação. |
PositionXChainingMode |
A propriedade PositionXChainingMode define o comportamento de encadeamento de um InteractionSource na direção X. Há três tipos de InteractionChainingMode s: Auto , Always , Never . Quando o encadeamento na direção X estiver habilitado, a entrada fluirá para o VisualInteractionSource do ancestral mais próximo sempre que a interação (como o movimento panorâmico) tomar a posição do InteractionTracker após sua posição mínima ou máxima X. |
PositionXSourceMode |
Modo de origem para o eixo X. A propriedade PositionXSourceMode define como as interações são processadas para um VisualInteractionSource no eixo X. Há três tipos de InteractionSourceModes para escolher: As interações são desabilitadas, EnabledWithInertia e EnabledWithoutInertia. Essa propriedade deve ser habilitada para permitir que o VisualInteractionSource envie dados do eixo X para InteractionTracker. |
PositionYChainingMode |
A propriedade PositionYChainingMode define o comportamento de encadeamento para um InteractionSource na direção Y. Há três tipos de InteractionChainingMode s: Auto , Always , Never . Quando o encadeamento na direção Y estiver habilitado, a entrada fluirá para o VisualInteractionSource do ancestral mais próximo sempre que a interação (como o movimento panorâmico) tomar a posição do InteractionTracker após sua posição mínima ou máxima Y. |
PositionYSourceMode |
Modo de origem para o eixo Y. A propriedade PositionYSourceMode define como as interações são processadas para um VisualInteractionSource no eixo Y. Há três tipos de InteractionSourceModes para escolher: As interações são desabilitadas, EnabledWithInertia e EnabledWithoutInertia. Essa propriedade deve ser habilitada para permitir que o VisualInteractionSource envie dados do eixo Y para InteractionTracker. |
Properties |
A coleção de propriedades associadas ao CompositionObject. (Herdado de CompositionObject) |
Scale |
A diferença percentual total em escala desde o início da interação. Multiplicativo. O valor padrão é 1. Legível somente por meio de expressão/animação. |
ScaleChainingMode |
A propriedade ScaleChainingMode define o comportamento de encadeamento de um InteractionSource na direção Escala. Há três tipos de InteractionChainingMode s: Auto, Always, Never. Quando o encadeamento de escala estiver habilitado, a entrada fluirá para o VisualInteractionSource do ancestral mais próximo sempre que a interação (como o movimento panorâmico) assumir a posição do InteractionTracker após a posição mínima ou máxima de Escala. |
ScaleSourceMode |
Define como as interações são processadas para um VisualInteractionSource no eixo de escala. Há três tipos de InteractionSourceModes para escolher: Interações são Desabilitadas , EnabledWithInertia e EnabledWithoutInertia . Essa propriedade deve ser habilitada para permitir que o VisualInteractionSource envie dados de escala para InteractionTracker. |
ScaleVelocity |
A taxa instantânea de alteração de escala na interação, em porcentagem por segundo. Aditivo. Assume o padrão de 0. Legível somente por meio de expressão/animação. |
Source |
O visual usado para teste de clique e define o espaço de coordenação para o reconhecimento de gestos. |
Métodos
Close() |
Fecha o CompositionObject e libera os recursos do sistema. (Herdado de CompositionObject) |
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>) |
Usa uma lista ordenada de CompositionConditionalValue. Em um quadro, o primeiro CompositionConditionalValue a ter seu ". Condition" evaluate to true substitui o valor de zoom CenterPointX que o VisualInteractionSource fornece com seu ". Valor". Se nenhum for avaliado como true, o CenterPointX não será substituído por esse quadro. |
ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>) |
Usa uma lista ordenada de CompositionConditionalValue. Em um quadro, o primeiro CompositionConditionalValue a ter seu ". Condition" evaluate to true substitui o valor de zoom CenterPointY que o VisualInteractionSource fornece com seu ". Valor". Se nenhum for avaliado como true, o CenterPointY não será substituído por esse quadro. |
ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>) |
Usa uma lista ordenada de CompositionConditionalValue. Em um quadro, o primeiro CompositionConditionalValue a ter seu ". Condition" evaluate to true substitui o valor DeltaPositionX que o VisualInteractionSource fornece com seu ". Valor". Se nenhum for avaliado como true, o DeltaPositionX não será substituído por esse quadro. |
ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>) |
Usa uma lista ordenada de CompositionConditionalValue. Em um quadro, o primeiro CompositionConditionalValue a ter seu ". Condition" evaluate to true substitui o valor DeltaPositionY que o VisualInteractionSource fornece com seu ". Valor". Se nenhum for avaliado como true, o DeltaPositionY não será substituído por esse quadro. |
ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>) |
Usa uma lista ordenada de CompositionConditionalValue. Em um quadro, o primeiro CompositionConditionalValue a ter seu ". Condition" evaluate to true substitui o valor DeltaScale que o VisualInteractionSource fornece por seu ". Valor". Se nenhum for avaliado como true, o DeltaScale não será substituído por esse quadro. |
ConnectAnimation(String, CompositionAnimation) |
Conecta e animação. (Herdado de CompositionObject) |
Create(Visual) |
Cria uma instância do VisualInteractionSource. |
CreateFromIVisualElement(IVisualElement) |
Cria uma instância do VisualInteractionSource de um elemento que implementa IVisualElement. |
DisconnectAnimation(String) |
Desconecta uma animação. (Herdado de CompositionObject) |
Dispose() |
Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados. (Herdado de CompositionObject) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Define uma propriedade que pode ser animada. (Herdado de CompositionObject) |
StartAnimation(String, CompositionAnimation, AnimationController) |
Conecta uma animação com a propriedade especificada do objeto e inicia a animação. (Herdado de CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Conecta uma animação com a propriedade especificada do objeto e inicia a animação. (Herdado de CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Inicia um grupo de animação. O método StartAnimationGroup em CompositionObject permite iniciar CompositionAnimationGroup. Todas as animações no grupo serão iniciadas ao mesmo tempo no objeto . (Herdado de CompositionObject) |
StopAnimation(String) |
Desconecta uma animação da propriedade especificada e interrompe a animação. (Herdado de CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Interrompe um grupo de animação. (Herdado de CompositionObject) |
TryGetAnimationController(String) |
Retorna um AnimationController para a animação em execução na propriedade especificada. (Herdado de CompositionObject) |
TryRedirectForManipulation(PointerPoint) |
Indica que as manipulações configuradas para o fluxo de ponteiro fornecido devem ser enviadas para o InteractionTracker, não para o thread de interface do usuário do aplicativo, começando no PointerPoint fornecido. TryRedirectForManipulation permite que o VisualInteractionSource redirecione o fluxo de ponteiro para o InteractionTracker se o gesto corresponder à configuração no VisualInteractionSource. Esse método só deve ser chamado com a entrada Pointer do DeviceType Touch. |