Share via


VisualInteractionSource クラス

定義

ビジュアルに対する InteractionTracker への入力を構成するためのオブジェクト。

VisualInteractionSource は InteractionTracker でのみ使用するように設計されており、状態とプロパティを駆動するために InteractionTracker に送信される入力を定義します。 このクラスには、ヒット テストに使用するビジュアルと、ジェスチャと入力の種類が InteractionTracker に送信されるさまざまな構成プロパティの両方が含まれています。

[WebHostHidden]
public ref class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[WebHostHidden]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
[WebHostHidden]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
Public Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
継承
Object Platform::Object IInspectable CompositionObject VisualInteractionSource
属性
実装

void SetupSimpleInteractionTracker(Visual viewportVisual, Visual contentVisual)
{
  //
  // Create the InteractionTracker and set its min/max position and scale.  These could 
  // also be bound to expressions.  Note: The scrollable area can be changed from either 
  // end to facilitate content updates/virtualization.
  //

  _tracker = InteractionTracker.Create(_compositor);

  _tracker.MaxPosition = new Vector3(
    contentVisual.Size.X - viewportVisual.Size.X,
    contentVisual.Size.Y - viewportVisual.Size.Y,
    0.0f);

  _tracker.MinScale = 0.5f;
  _tracker.MaxScale = 4.0f;


  //
  // Configure the interaction source.  Enable input with inertia on all axis.
  //

  var interactionSource = VisualInteractionSource.Create(viewportVisual);

  interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.ScaleSourceMode = InteractionSourceMode.EnabledWithInertia;

  _tracker.InteractionSources.Add(interactionSource);


  //
  // Bind the InteractionTracker outputs to the contentVisual.
  //

  var positionExpression = _compositor.CreateExpressionAnimation("-tracker.Position");
  positionExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Offset", positionExpression);


  var scaleExpression = _compositor.CreateExpressionAnimation("Vector3(tracker.Scale, tracker.Scale, 1.0)");

  scaleExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Scale", scaleExpression);
}

注釈

VisualInteractionSource は、InteractionTracker の状態とプロパティを駆動する必要がある相互作用の種類に関する重要なプロパティを定義するために使用されます。 source プロパティは、ヒット テストとジェスチャ検出の座標空間の両方に使用されます。 その結果、操作中に動かないビジュアルを使用することが重要です。 複数のヒット テスト領域がある場合、複数の VisualInteractionSource を同じ InteractionTracker に関連付けることができますが、最も一般的なケースでは、特定の InteractionTracker に対して VisualInteractionSource を 1 つだけ必要とします。

VisualInteractionSource は、InteractionTracker を駆動するために考慮する必要があるジェスチャの種類を構成するためのクラスです。 位置 X と Y は、それぞれ水平方向と垂直方向のパンに関連付けられます。 スケーリングは、多くの場合、ズームに関連付けられたピンチ ジェスチャで検出されます。 これら 3 つのソース モードはすべて、タッチおよび高精度タッチパッド入力用に構成できます。 これらの各ソース モードは、慣性の有無にかかわらず有効にすることができます。

  • 慣性を有効にすると、位置またはスケールは、慣性状態中に解放速度から速度なしで自然に補間されることを示します。

  • 慣性を無効にすると、相互作用の完了時に位置またはスケール速度が直ちに 0 に移動することを示します。 位置またはスケールを駆動する入力が InteractionTracker にルーティングされると、同じ名前の InteractionTracker プロパティが適切に更新されます。

Rails の構成は、ジェスチャがどのように検出されるかを示します。 既定では、Rails は オンであり、主にその軸で開始されたときに、水平または垂直パンが特定の軸にロックされることを示します。 この詳細については、手すりのプロパティ ページを参照してください。

チェーン構成は、InteractionTracker がその方向の最小値または最大値に達したときに、ある VisualInteractionSource によって処理された入力が別のエンティティに流れるかどうかを示します。 この構成により、別の VisualInteractionSource を介して別の InteractionTracker に、または VisualInteractionSource のソース ビジュアルが ScrollViewer の子である場合は ScrollViewer への入力が許可されます。

プロパティ

Comment

CompositionObject に関連付ける文字列。

(継承元 CompositionObject)
Compositor

この CompositionObject の作成に使用するコンポジター

(継承元 CompositionObject)
DeltaPosition

今後のフレーム中に適用される位置変更の量。 既定値は 0 です。 式/アニメーションを使用してのみ読み取り可能です。

DeltaScale

今後のフレーム中に適用されるスケール変更の量。 乗算。 既定値は 1 です。 式/アニメーションを使用してのみ読み取り可能です。

DispatcherQueue

CompositionObject の DispatcherQueue を取得します。

(継承元 CompositionObject)
ImplicitAnimations

このオブジェクトにアタッチされている暗黙的なアニメーションのコレクション。

(継承元 CompositionObject)
IsPositionXRailsEnabled

x 軸のパンが手すりになっているかどうかを示します。

IsPositionXRailsEnabled プロパティは、X 軸パンが対応する InteractionTracker に送信される場合の手すりの構成を定義します。 有効にすると、パンの最初の部分が X 軸に対して特定の範囲内で斜めになっている場合、パンの Y 成分は無視され、完全な水平パンと見なされます。 このプロパティは、多くの場合、X と Y の両方のスクロール エクスペリエンスが有効になっているが、信頼性の高い完全な水平パンが必要な場合に有効になります。

IsPositionYRailsEnabled

y 軸のパンが手すりになっているかどうかを示します。

IsPositionYRailsEnabled プロパティは、Y 軸パンが対応する InteractionTracker に送信される場合の手すりの構成を定義します。 有効にすると、パンの最初の部分が Y 軸に対して特定の範囲内に向いている場合、パンの X 成分は無視され、完全な垂直パンと見なされます。 このプロパティは、多くの場合、X と Y の両方のスクロール エクスペリエンスが有効になっているが、信頼性の高い完璧な垂直パンが必要な場合に有効になります。

ManipulationRedirectionMode

InteractionTracker にリダイレクトする必要がある入力を示します。

PointerWheelConfig

ポインター ホイール入力の構成を取得します。

Position

相互作用の開始以降の位置変更の合計量。 既定値は 0 です。 式/アニメーションを使用してのみ読み取り可能です。

PositionVelocity

相互作用の位置の瞬間的な変化率 (1 秒あたりのピクセル単位)。 既定値は 0 です。 式/アニメーションを介してのみ読み取り可能。

PositionXChainingMode

PositionXChainingMode プロパティは、InteractionSource の X 方向のチェーン動作を定義します。 InteractionChainingMode には、次の 3 種類があります。

  • Auto
  • Always (常に)
  • Never (決してしない)

X 方向でのチェーンが有効になっている場合、相互作用 (パンなど) がそれ以外の場合は、InteractionTracker の位置が最小または最大 X 位置を超えるたびに、最も近い先祖の VisualInteractionSource に入力が流れ込まれます。

PositionXSourceMode

X 軸のソース モード。

PositionXSourceMode プロパティは、X 軸の VisualInteractionSource に対する相互作用の処理方法を定義します。 InteractionSourceMode には、次の 3 種類から選択できます。

  • 相互作用は無効です
  • EnabledWithInertia
  • EnabledWithoutInertia

VisualInteractionSource が X 軸データを InteractionTracker に送信できるようにするには、このプロパティを有効にする必要があります。

PositionYChainingMode

PositionYChainingMode プロパティは、Y 方向の InteractionSource のチェーン動作を定義します。 InteractionChainingMode には、AutoAlwaysNever の 3 種類があります。 Y 方向でのチェーンが有効になっている場合、相互作用 (パンなど) がそれ以外の場合、InteractionTracker の位置が最小または最大 Y 位置を超えるたびに、最も近い先祖の VisualInteractionSource に入力が流れ込まれます。

PositionYSourceMode

Y 軸のソース モード。

PositionYSourceMode プロパティは、Y 軸の VisualInteractionSource に対する相互作用の処理方法を定義します。 InteractionSourceMode には、次の 3 種類から選択できます。

  • 相互作用は無効です
  • EnabledWithInertia
  • EnabledWithoutInertia

VisualInteractionSource が Y 軸データを InteractionTracker に送信できるようにするには、このプロパティを有効にする必要があります。

Properties

CompositionObject に関連付けられているプロパティのコレクション。

(継承元 CompositionObject)
Scale

相互作用の開始以降のスケールの合計パーセンテージ差。 乗算。 既定値は 1 です。 式/アニメーションを使用してのみ読み取り可能です。

ScaleChainingMode

ScaleChainingMode プロパティは、Scale 方向の InteractionSource のチェーン動作を定義します。 InteractionChainingMode には、Auto、Always、Never の 3 種類があります。 スケール チェーンが有効になっている場合、対話 (パンなど) で InteractionTracker の位置が最小または最大スケールの位置を超えるたびに、最も近い先祖の VisualInteractionSource に入力がフローされます。

ScaleSourceMode

スケール軸上の VisualInteractionSource の相互作用の処理方法を定義します。 InteractionSourceMode には、次の 3 種類から選択できます。

  • Disabled
  • EnabledWithInertia
  • EnabledWithoutInertia

VisualInteractionSourceInteractionTracker にスケール データを送信できるようにするには、このプロパティを有効にする必要があります。

ScaleVelocity

相互作用におけるスケールの瞬時変化率 (1 秒あたりの割合)。 添加 物。 既定値は 0 です。 式/アニメーションでのみ読み取り可能です。

Source

ヒット テストに使用され、ジェスチャ認識用の座標空間を定義するビジュアル。

メソッド

Close()

CompositionObject を閉じ、システム リソースを解放します。

(継承元 CompositionObject)
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>)

CompositionConditionalValue の順序付きリストを取得します。 フレーム内で、最初の CompositionConditionalValue は、 を持っています。条件" は true に評価され、VisualInteractionSource によって提供されるズーム CenterPointX 値に置き換えられます。値"。 true と評価されない場合、CenterPointX はそのフレームに置き換えされません。

ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>)

CompositionConditionalValue の順序付きリストを取得します。 フレーム内で、最初の CompositionConditionalValue は、 を持っています。条件" は true に評価され、VisualInteractionSource が提供するズーム CenterPointY 値に置き換えられます。値"。 true と評価されない場合、CenterPointY はそのフレームに置き換えされません。

ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>)

CompositionConditionalValue の順序付きリストを取得します。 フレーム内で、最初の CompositionConditionalValue は、 を持っています。Condition" は true に評価され、VisualInteractionSource が提供する DeltaPositionX 値を その に置き換えます。値"。 true と評価されない場合、DeltaPositionX はそのフレームに置き換えされません。

ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>)

CompositionConditionalValue の順序付きリストを取得します。 フレーム内で、最初の CompositionConditionalValue は、 を持っています。Condition" は true に評価され、VisualInteractionSource が提供する DeltaPositionY 値を その に置き換えます。値"。 true と評価されない場合、DeltaPositionY はそのフレームに置き換えされません。

ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>)

CompositionConditionalValue の順序付きリストを取得します。 フレーム内で、最初の CompositionConditionalValue は、 を持っています。Condition" は true に評価され、VisualInteractionSource が提供する DeltaScale 値を その に置き換えます。値"。 true と評価されない場合、DeltaScale はそのフレームに置き換えされません。

Create(Visual)

VisualInteractionSource のインスタンスを作成します。

CreateFromIVisualElement(IVisualElement)

IVisualElement を実装する要素から VisualInteractionSource のインスタンスを作成します。

Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

(継承元 CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

アニメーション化できるプロパティを定義します。

(継承元 CompositionObject)
StartAnimation(String, CompositionAnimation)

アニメーションをオブジェクトの指定したプロパティに接続し、アニメーションを開始します。

(継承元 CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

アニメーションをオブジェクトの指定したプロパティに接続し、アニメーションを開始します。

(継承元 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

アニメーション グループを開始します。

CompositionObject の StartAnimationGroup メソッドを使用すると、CompositionAnimationGroup を開始できます。 グループ内のすべてのアニメーションは、オブジェクトで同時に開始されます。

(継承元 CompositionObject)
StopAnimation(String)

指定したプロパティからアニメーションを切断し、アニメーションを停止します。

(継承元 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

アニメーション グループを停止します。

(継承元 CompositionObject)
TryGetAnimationController(String)

指定したプロパティで実行されているアニメーションの AnimationController を返します。

(継承元 CompositionObject)
TryRedirectForManipulation(ExpPointerPoint)

ビジュアルに対する InteractionTracker への入力を構成するためのオブジェクト。

VisualInteractionSource は InteractionTracker でのみ使用するように設計されており、状態とプロパティを駆動するために InteractionTracker に送信される入力を定義します。 このクラスには、ヒット テストに使用するビジュアルと、ジェスチャと入力の種類が InteractionTracker に送信されるさまざまな構成プロパティの両方が含まれています。

TryRedirectForManipulation(PointerPoint)

特定のポインター ストリームに対して構成された操作を、指定された PointerPoint から開始して、アプリの UI スレッドではなく InteractionTracker に送信しようとします。

重要

このメソッドは、 Touch の PointerDeviceType でのみ呼び出す必要があります。

適用対象

こちらもご覧ください