Share via


InteractionTrackerInertiaRestingValue Classe

Definição

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

A classe InteractionTrackerInertiaRestingValue define dois ExpressionAnimation s que calculamuma posição de descanso 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 definido explicitamente se true e a equação que descreve uma relação matemática que gera o local. Utilize a classe InteractionTrackerInertiaRestingValue ao precisar garantir que InteractionTracker chegue a um local específico após a interação.

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

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 Escala.

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

Os modificadores InteractionTrackerInertiaRestingValue definem explicitamente a posição de descanso de 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 de InteractionTracker para realizar um movimento específico, mas não exigir que ele aterrisse em 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 esse 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 classe ExpressionAnimation para obter mais detalhes sobre como criar expressões.

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

A coleção de propriedades associadas ao CompositionObject.

(Herdado de CompositionObject)
RestingValue

Uma 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 InteractionTracker se moverá após uma interação se a condição correspondente for atendida. Essa expressão será executada todos os quadros enquanto InteractionTracker estiver na Inércia e deverá resolve para um tipo Float, caso contrário, um erro será gerado quando a equação for avaliada. Consulte a página 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)
Create(Compositor)

Cria uma instância de InteractionTrackerInertiaRestingValue.

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