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
Значение свойства
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 и получать последнее значение из аргументов.