InteractionTracker.NaturalRestingPosition 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
속성 값
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 이벤트를 수신 대기하고 인수에서 최신 값을 잡는 것이 좋습니다.