InteractionTrackerInertiaRestingValue Classe

Definição

Um ExpressionAnimation que define a posição restante após uma interação.

A classe InteractionTrackerInertiaRestingValue define dois ExpressionAnimation s que calculamuma posição de repouso explícita para InteractionTracker quando uma condição específica é atendida. O InteractionTrackerInertiaRestingValue é definido como duas partes: a instrução condicional na qual o local de descanso específico do InteractionTracker precisa ser explicitamente definido se verdadeiro e a equação que descreve uma relação matemática que gera o local. Utilize a classe InteractionTrackerInertiaRestingValue ao precisar garantir que o InteractionTracker chegue a um local específico após a interação.

public ref class InteractionTrackerInertiaRestingValue sealed : InteractionTrackerInertiaModifier
/// [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 InteractionTrackerInertiaRestingValue final : InteractionTrackerInertiaModifier
[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 InteractionTrackerInertiaRestingValue : InteractionTrackerInertiaModifier
Public NotInheritable Class InteractionTrackerInertiaRestingValue
Inherits InteractionTrackerInertiaModifier
Herança
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaRestingValue
Atributos

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 MandatorySingleSnapPoints(ContainerVisual containerVisual, Visual contentVisual)
{
  //
  // Set up our inertia modifiers to behave as dmanip's "single mandatory" snap-points, at a
  // regular interval of 50px.
  //

  const float snapPointRange = 50.0f;

  //
  // Configure a "snap-point" to handle upward direction (to previous item).
  //

  var modifier1 = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Add a condition for when this upward “snap-point” applies.
  modifier1.Condition = _compositor.CreateExpressionAnimation(
    "this.Target.NaturalRestingPosition.y < " + 
    "(this.StartingValue - mod(this.StartingValue, snapPointRange) + snapPointRange / 2)");

  modifier1.Condition.SetScalarParameter("snapPointRange", snapPointRange);

  // Configure the resting spot when the condition is met 
  modifier1.EndPoint = _compositor.CreateExpressionAnimation(
    "this.StartingValue - mod(this.StartingValue, snapPointRange)");

  modifier1.EndPoint.SetScalarParameter("snapPointRange", snapPointRange);

  //
  // Configure a "snap-point" to handle downward direction (to next item).
  //

  var modifier2 = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Add a condition for when this downward “snap-point” applies.
  modifier2.Condition = _compositor.CreateExpressionAnimation(
    "this.Target.NaturalRestingPosition.y >= " + 
    "(this.StartingValue - mod(this.StartingValue, snapPointRange) + snapPointRange / 2)");

  modifier2.Condition.SetScalarParameter("snapPointRange", snapPointRange);

  // Configure the resting spot when the condition is met.
  modifier2.EndPoint = _compositor.CreateExpressionAnimation(
    "this.StartingValue + snapPointRange - mod(this.StartingValue, snapPointRange)");

  modifier2.EndPoint.SetScalarParameter("snapPointRange", snapPointRange);

  var modifiers = new InteractionTrackerInertiaRestingValue[] { modifier1, modifier2 };

  //
  // Add our "snap-point" inertia modifiers to the Y position of the InteractionTracker.
  //

  _tracker.ConfigurePositionYInertiaModifiers(modifiers);
}

Comentários

Ao anexar o modificador InteractionTrackerInertiaRestingValue ao InteractionTracker, configure-o para a Posição X/Y ou a Escala.

O ExpressionAnimation que define a propriedade de condição só é executado uma vez, quando a interação é concluída (dedo liberado), enquanto a Expressão RestingValue é executada a cada quadro.

Os modificadores InteractionTrackerInertiaRestingValue definem explicitamente a posição de descanso do InteractionTracker quando a condição é atendida. No entanto, ele não define o movimento para esse local explícito – o sistema lidará com isso. Portanto, se você precisar que o InteractionTracker faça um movimento específico, mas não exija que ele chegue a um local exato, utilize o modificador InteractionTrackerInertiaMotion .

Propriedades

Comment

Uma cadeia de caracteres a ser associada ao CompositionObject.

(Herdado de CompositionObject)
Compositor

O Compositor usado para criar este CompositionObject.

(Herdado de CompositionObject)
Condition

Uma ExpressionAnimation que descreve quando o modificador deve ser aplicado.

A propriedade Condition é uma ExpressionAnimation que define quando o InteractionTracker deve ter uma posição de repouso específica. Essa expressão é executada uma vez após a interação ocorrer e deve resolve a um tipo Bool; caso contrário, um erro será gerado quando a condição for avaliada. Consulte a página da classe ExpressionAnimation para obter mais detalhes sobre como criar expressões.

Dispatcher

O dispatcher do 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)
Properties

A coleção de propriedades associadas ao CompositionObject.

(Herdado de CompositionObject)
RestingValue

Um ExpressionAnimation para definir o valor de repouso de InteractionTracker se a expressão na propriedade Condition for verdadeira.

A propriedade Resting é uma ExpressionAnimation que descreve para onde o InteractionTracker será movido após uma interação se a condição correspondente for atendida. Essa expressão será executada a cada quadro enquanto InteractionTracker estiver em Inércia e deverá resolve a um tipo Float; caso contrário, um erro será gerado quando a equação for avaliada. Consulte a página da classe ExpressionAnimation para obter mais detalhes sobre como criar expressões.

Métodos

Close()

Fecha o CompositionObject e libera os recursos do sistema.

(Herdado de CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Conecta e animação.

(Herdado de CompositionObject)
Create(Compositor)

Cria uma instância de InteractionTrackerInertiaRestingValue.

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)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

(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)
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)

Aplica-se a

Confira também