VisualInteractionSource Classe

Definição

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 conduzir seu estado e propriedades. Essa classe contém o visual a ser usado para teste de ocorrência, bem como uma variedade de propriedades de configuração para as quais gestos e tipos de entrada serão enviados para o 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
Herança
Object Platform::Object IInspectable CompositionObject VisualInteractionSource
Atributos
Implementações

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 tanto para teste de ocorrência, quanto para 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 ocorrência, 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 impulsiona a posição ou a escala é roteada para o InteractionTracker, a propriedade InteractionTracker com o 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 com mais detalhes 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 atingir o mínimo ou o máximo nessa direção. Essa configuração permitirá que a entrada seja encadeada para outro InteractionTracker por meio de outro VisualInteractionSource ou para um ScrollViewer se o visual de origem do VisualInteractionSource for filho do ScrollViewer.

Propriedades

Nome Description
Comment

Uma cadeia de caracteres a ser associada ao CompositionObject.

(Herdado de CompositionObject)
Compositor

O Compositor usado para criar este CompositionObject.

(Herdado de CompositionObject)
DeltaPosition

A quantidade de alteração de posição a ser aplicada durante o próximo quadro. O valor padrão é 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.

DispatcherQueue

Obtém o DispatcherQueue para o CompositionObject.

(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 habilitada, 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. O valor padrão é 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. O valor padrão é 0. Legível somente por meio de expressão/animação.

PositionXChainingMode

A propriedade PositionXChainingMode define o comportamento de encadeamento para um InteractionSource na direção X. Há três tipos InteractionChainingMode :

  • Automático
  • Sempre
  • Nunca

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 InteractionSourceMode para escolher:

  • As interações estão desabilitadas
  • EnabledWithInertia
  • 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 de um InteractionSource na direção Y. Há três tipos InteractionChainingMode : 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 movimento panorâmico) tomar a posição do InteractionTracker após sua posição mínima ou máxima de 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 InteractionSourceMode para escolher:

  • As interações estão desabilitadas
  • EnabledWithInertia
  • EnabledWithoutInertia

Essa propriedade deve ser habilitada para permitir que o VisualInteractionSource envie dados do eixo Y para o 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 De 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 da escala.

ScaleSourceMode

Define como as interações são processadas para um VisualInteractionSource no eixo de escala. Há três tipos InteractionSourceMode para escolher:

  • Desactivado
  • EnabledWithInertia
  • EnabledWithoutInertia

Essa propriedade deve ser habilitada para permitir que o VisualInteractionSource envie dados de escala para o InteractionTracker.

ScaleVelocity

A taxa instantânea de alteração de escala na interação, em porcentagem por segundo. Aditivo. O valor padrão é 0. Legível somente por meio de expressão/animação.

Source

O visual usado para teste de cliques e define o espaço de coordenação para reconhecimento de gestos.

Métodos

Nome Description
Close()

Fecha o CompositionObject e libera os recursos do sistema.

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

Usa uma lista ordenada de objetos CompositionConditionalValue . Em um quadro, o primeiro CompositionConditionalValue a ter sua propriedade Condition retornado true substitui o valor Composition.Visual.CenterPoint X pelo valor fornecido pela propriedade CompositionConditionalValue.Value . Se nenhum for avaliado como true, o Composition.Visual.CenterPoint valor X 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 ". A condição" avaliada como true substitui o valor do 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 objetos CompositionConditionalValue . Em um quadro, o primeiro CompositionConditionalValue a ter sua propriedade Condition retornado true substitui o valor DeltaPosition pelo valor fornecido pela propriedade CompositionConditionalValue.Value . Se nenhum for avaliado como true, o DeltaPosition valor não será substituído por esse quadro.

ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>)

Usa uma lista ordenada de objetos CompositionConditionalValue . Em um quadro, o primeiro CompositionConditionalValue a ter sua propriedade Condition retornado true substitui o valor DeltaPosition Y pelo valor fornecido pela propriedade CompositionConditionalValue.Value . Se nenhum for avaliado como true, o DeltaPosition valor Y não será substituído por esse quadro.

ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>)

Usa uma lista ordenada de objetos CompositionConditionalValue . Em um quadro, o primeiro CompositionConditionalValue a ter sua propriedade Condition retornado true substitui o valor DeltaScale pelo valor fornecido pela propriedade CompositionConditionalValue.Value . Se nenhum for avaliado como true, o DeltaScale quadro não será substituído.

Create(Visual)

Cria uma instância do VisualInteractionSource.

CreateFromIVisualElement(IVisualElement)

Cria uma instância do VisualInteractionSource a partir de um elemento que implementa IVisualElement.

Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, 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(ExpPointerPoint)

Tenta enviar manipulações configuradas para o fluxo de ponteiro fornecido para o InteractionTracker, não o thread de interface do usuário do aplicativo, começando no ExpPointerPoint fornecido.

Important

Esse método só deve ser chamado com um PointerDeviceType de Touch.

TryRedirectForManipulation(PointerPoint)

Tenta enviar manipulações configuradas para o fluxo de ponteiro fornecido para o InteractionTracker, não o thread de interface do usuário do aplicativo, começando no PointerPoint fornecido.

Important

Esse método só deve ser chamado com um PointerDeviceType de Touch.

Aplica-se a

Confira também