UIElement.PointerMoved イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ポインターがこの要素のヒット テスト領域内に残っている間にポインターが移動したときに発生します。
public:
virtual event PointerEventHandler ^ PointerMoved;
// Register
event_token PointerMoved(PointerEventHandler const& handler) const;
// Revoke with event_token
void PointerMoved(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::PointerMoved_revoker PointerMoved(auto_revoke_t, PointerEventHandler const& handler) const;
public event PointerEventHandler PointerMoved;
function onPointerMoved(eventArgs) { /* Your code */ }
uIElement.addEventListener("pointermoved", onPointerMoved);
uIElement.removeEventListener("pointermoved", onPointerMoved);
- or -
uIElement.onpointermoved = onPointerMoved;
Public Custom Event PointerMoved As PointerEventHandler
<uiElement PointerMoved="eventhandler"/>
イベントの種類
注釈
タッチ、マウス、ペン/スタイラスの操作は、UWP アプリでポインター入力として受信、処理、管理されます。 これらの相互作用は、いずれもイベントを PointerMoved
生成できます。 詳細については、このトピックの「 ポインター入力を処理 する」および「マウスとスタイラス入力用の PointerMoved」セクションを参照してください。
一部の UI シナリオでは、特にユーザーがマウスを使用している場合、このイベントは大量に発生します。 このハンドラーに配置するコードのパフォーマンス プロファイルに注意し、ロジックを実際に実行する必要がある回数を調整できる独自のフラグまたは許容度を使用する方法を検討してください。
このイベントはルーティング イベントです。 ルーティング イベントの概念の詳細については、「 イベントとルーティング イベントの概要」を参照してください。
タッチ操作や、タッチ操作の結果に発生する対話/操作イベントについては、ヒット テストで要素が表示されない場合、イベント ソースとして使用したり、操作に関連付けられたイベントを起動することはできません。 UIElement.Visibility は Visible である必要があります。 派生型の他のプロパティも、ヒット テストの可視性に影響します。 詳しくは、「イベントとルーティング イベントの概要」をご覧ください。
このイベントでは、イベントのイベント データが Handled とマークされている場合でも呼び出されるルートにイベント ハンドラーをアタッチする機能もサポートされています。 「 AddHandler」を参照してください。
マウスとスタイラスの入力に対して PointerMoved
マウス入力デバイスには、その時点でマウス ボタンが押されていない場合でも、マウスが要素の境界上を移動するたびに表示される画面上のカーソルがあります。 ペン デバイス入力でも同様の動作を使用できます。入力デバイスでは、入力デバイスが入力デバイスの表面のすぐ上にマウス ポインターを置いているが、タッチされていないことを検出できます。 したがって PointerMoved
、マウスとペンの入力では、タッチ入力よりもイベントが発生する頻度が高くなります。 詳しくは、「マウス操作」をご覧ください。
これに対し、タッチ ポイントは、指が表面に触れている場合にのみ検出できます。 タッチ ポイントは、そのタッチ ポイントが移動してもサーフェスとの一定の接触が維持されている間にのみ生成 PointerMoved
されます。 生成 PointerMoved
されるこれらの種類のタッチ アクションの場合、アクションは操作として、またはジェスチャとして処理される可能性もあります。 詳細については、「 ポインター入力を処理する」を参照してください。
マウス入力は、マウス入力が最初に検出されたときに割り当てられた 1 つのポインターに関連付けられます。また、マウスが開始するすべての操作は同じ PointerId を持ちます。 マウス ボタン (左ボタン、ホイール、または右ボタン) をクリックすると、PointerPressed イベントによってポインターとそのボタンの間に 2 番目の関連付けが行われます。
PointerReleased イベントは、同じマウス ボタンを離したときにだけ発生します (イベントが完了するまではそのポインターに他のボタンが関連付けられることはありません)。 この排他的な関連付けにより、他のマウス ボタンクリックはイベントを PointerMoved
介してルーティングされます。 次の例に示すように、このイベントを処理するときにマウス ボタンの状態をテストできます。
ゲームなどの一部のアプリケーションでは、特定の機能 (仮想トラックボールや表示カメラなど) の相対的なマウスの動きを追跡する必要があり、システム カーソルや絶対画面座標を使用しません。 マウス カーソルを非表示にし、マウスの絶対データを無視する方法の詳細については、「 マウスの相対移動と CoreWindow」を参照してください。