InteractionTracker.NaturalRestingPosition プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
InteractionTracker の自然な静止位置。
NaturalRestingPosition プロパティは、境界や慣性修飾子を計算せずに InteractionTracker が停止する計算位置です。 このプロパティは、多くの場合、スクロール エクスペリエンスでの仮想化などのアクションに役立ちます。 InteractionTracker が停止する場所を知ることが重要です。 NaturalRestingPosition プロパティを使用するには、2 つのメインユース ケースがあります。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);
}
注釈
上記のコード スニペットで説明されている 2 つのユース ケースは、NaturalRestingPosition プロパティの主な用途です。 他の object.property リレーションシップと同様に InteractionTracker からこのプロパティを参照したくなるかもしれませんが、常に最新の値が取得されるとは限りません。 この状況では、 InertiaStateEntered イベントをリッスンし、引数から最新の値を取得することをお勧めします。