Control.OnPointerEntered(PointerRoutedEventArgs) メソッド

定義

PointerEntered イベントが発生する前に呼び出されます。

protected:
 virtual void OnPointerEntered(PointerRoutedEventArgs ^ e) = OnPointerEntered;
void OnPointerEntered(PointerRoutedEventArgs const& e);
protected virtual void OnPointerEntered(PointerRoutedEventArgs e);
function onPointerEntered(e)
Protected Overridable Sub OnPointerEntered (e As PointerRoutedEventArgs)

パラメーター

e
PointerRoutedEventArgs

イベントのイベント データ。

注釈

Windows 8 の動作

Windows 8 の場合、画面上のカーソル (またはスタイラスまたはタッチポイント) が実際に移動しなかった場合、通常 、PointerEntered イベントは発生しません。 たとえば、マウスと画面上のカーソルが静止していて、PointerEntered ハンドラーを持つオブジェクトの位置が画面上のカーソルの下に移動するように翻訳または調整されている場合、PointerEntered は起動しません。 または、ポップアップやポップアップなどの要素が消え、ポインターが新しい要素の上にある場合は、 PointerEntered は起動しません (ただし、ポインターはまだ移動されていません)。 これに関連するのは、 PointerExited の動作です。 たとえば、ポップアップがプログラムによって無視された場合、ポインターが無視の原因として移動しなかった場合、 PointerExited は発生しません。 新しく表示された要素の上でポインターが移動しても 、PointerEntered イベントは引き続き発生しますが、それが発生するかどうかはユーザー次第であり、無視の瞬間ではなく、移動時に発生します。 つまり、アプリ UI でのポインター状態の決定に PointerEntered を発生させた最後の要素を使用しようとすると、Windows 8 では包括的ではなく、 PointerEnteredPointerExited がペアにならないシナリオが多数あります。 これは、PointerEntered と PointerExited をトリガーとして使用するコントロールの表示状態にも影響します。

Windows 8.1以降、ポインターが一度に PointerEntered イベントを発生させた場合は、PointerExited が発生しますが、ポインターがその要素内に存在しなくなった場合に UI 状態の変更が発生します。 これには、要素全体が消える場合が含まれます。 また、前の要素が消えたためにポインターが別の要素の上にある場合、ポインターが移動しない場合でも、その要素は PointerEntered を起動します。 プログラムによって VisibilityCollapsed に設定する要素は、UI から要素が消える可能性がある 1 つの方法であり、Windows 8.1の動作はこれに対応し、新しく表示された要素に対して **Collapsed ** 要素と PointerEntered に対して PointerExited が発生します。

アプリ コードを Windows 8 から Windows 8.1に移行する場合は、この動作の変更を考慮する必要があります。これは、以前に発生しなかった場合に PointerExitedPointerEntered が発生するためです。

Windows 8 用にコンパイルしたアプリは、Windows 8.1 上で実行しても Windows 8 のときと同じ動作になります。

適用対象

こちらもご覧ください