InteractionTracker.NaturalRestingScale 属性

定义

InteractionTracker 的自然静态刻度。

NaturalRestingScale 属性是 InteractionTracker 将在不考虑边界或惯性修饰符的情况下停止的计算比例位置。 此属性通常适用于滚动体验中的虚拟化等操作,其中必须知道 InteractionTracker 停止的位置。 使用 NaturalRestingScale 属性有两个main用例:在 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 属性的主要用途。 尽管你可能想像引用任何其他 object.property 关系一样引用 InteractionTracker 之外的此属性,但你并不总是会获得最新的值。 在这种情况下,建议侦听 InertiaStateEntered 事件并从参数中获取最新值。

适用于