Поделиться через


InteractionTracker.NaturalRestingScale Свойство

Определение

Естественная шкала отдыха для InteractionTracker.

Свойство NaturalRestingScale — это вычисляемая позиция шкалы, на которую будет останавливаться InteractionTracker без учета границ или модификаторов инерции. Это свойство часто полезно для таких действий, как виртуализация при прокрутке, где важно знать расположение остановки InteractionTracker . Существует два main вариантов использования свойства NaturalRestingScale: получение его текущего значения в аргументах событий InertiaStateEntered или ссылка на это свойство в ExpressionAnimation при создании таких вещей, как модификаторы инерции.

public:
 property float NaturalRestingScale { float get(); };
float NaturalRestingScale();
public float NaturalRestingScale { get; }
var single = interactionTracker.naturalRestingScale;
Public ReadOnly Property NaturalRestingScale As Single

Значение свойства

Single

float

Естественная шкала отдыха для InteractionTracker.

Примеры

// Listen for the InertiaStateEntered event
public void InertiaStateEntered(InteractionTracker sender, 	InteractionTrackerInertiaStateEnteredArgs args)
{
  // Grab the NaturalRestingScale out of the args when the event is fired.
  float scaleRest = args.NaturalRestingScale;
}
void CreateBasicScaleSnapPoint(float maxScale, float minScale)
{
  var snappoint = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Reference the NaturalRestingScale of InteractionTracker in an ExpressionAnimation for conditional portion of an InertiaModifier.
  snappoint.Condition = _compositor.CreateExpressionAnimation("this.target.NaturalRestingScale >= min && this.target.NaturalRestingScale < max ");

  snappoint.Condition.SetScalarParameter("min", minScale);
  snappoint.Condition.SetScalarParameter("max", maxScale);

  // Snap to the highbound if condition met
  snappoint.RestingValue = _compositor.CreateExpressionAnimation("max");
  snappoint.RestingValue.SetScalarParameter("max", maxScale);

  scaleInertiaModifier.Add(snappoint);

  _tracker.ConfigureScaleInertiaModifiers(scaleInertiaModifier);
}

Комментарии

Два варианта использования, описанные в фрагменте кода, являются основными вариантами использования свойства NaturalRestingScale. Хотя может возникнуть соблазн ссылаться на это свойство в InteractionTracker , как и на любое другое отношение object.property, вы не всегда получите самое актуальное значение. В этой ситуации рекомендуется прослушивать событие InertiaStateEntered и получать последнее значение из аргументов.

Применяется к