다음을 통해 공유


InteractionTracker.NaturalRestingPosition 속성

정의

InteractionTracker의 자연 휴식 위치입니다.

NaturalRestingPosition 속성은 InteractionTracker 가 경계 또는 관성 한정자를 고려하지 않고 에서 중지될 계산된 위치입니다. 이 속성은 InteractionTracker 가 중지되는 위치를 알아야 하는 스크롤 환경의 가상화와 같은 작업에 유용합니다. NaturalRestingPosition 속성을 사용하는 두 가지 기본 사용 사례가 있습니다. InertiaStateEntered 이벤트 인수에서 현재 값을 검색하거나 관성 한정자와 같은 항목을 만들 때 ExpressionAnimation에서 이 속성을 참조합니다.

public:
 property float3 NaturalRestingPosition { float3 get(); };
float3 NaturalRestingPosition();
public Vector3 NaturalRestingPosition { get; }
var vector3 = interactionTracker.naturalRestingPosition;
Public ReadOnly Property NaturalRestingPosition As Vector3

속성 값

Vector3 Vector3

float3

InteractionTracker의 자연 휴식 위치입니다.

예제

// Listen for the InertiaStateEntered event, so can grab NaturalRestingPosition value.
public void InertiaStateEntered(InteractionTracker sender, InteractionTrackerInertiaStateEnteredArgs args)
{
  // Grab the NaturalRestingPosition out of the args when the event is fired. Now have access to calculated Natural Rest spot
  Vector3 naturalRest = args.NaturalRestingPosition;
}

// Reference the NaturalRestingPosition property in an expression for things like 	SnapPoints
void CreateBasicSnapPoint(float highBound, float lowBound)
{
  var snappoint = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Reference the NaturalRestingPosition of InteractionTracker in an ExpressionAnimation for conditional portion of an InertiaModifier.
  snappoint.Condition = _compositor.CreateExpressionAnimation("this.target.NaturalRestingPosition.Y >= 	lowBound && this.target.NaturalRestingPosition.Y < highBound ");

  snappoint.Condition.SetScalarParameter("lowBound", lowBound);
  snappoint.Condition.SetScalarParameter("highBound", highBound);

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

  yInertiaModifier.Add(snappoint);

  _tracker.ConfigurePositionYInertiaModifiers(yInertiaModifier);
}

설명

위의 코드 조각에 설명된 두 가지 사용 사례는 NaturalRestingPosition 속성의 기본 사용 사례입니다. 다른 object.property 관계와 마찬가지로 InteractionTracker 에서 이 속성을 참조하려는 유혹이 있을 수 있지만 항상 최신 값을 얻을 수는 없습니다. 이 상황에서 는 InertiaStateEntered 이벤트를 수신 대기하고 인수에서 최신 값을 잡는 것이 좋습니다.

적용 대상