UIElement.RightTapped イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ポインターが要素の上にある間に右タップ入力刺激が発生したときに発生します。
public:
virtual event RightTappedEventHandler ^ RightTapped;
// Register
event_token RightTapped(RightTappedEventHandler const& handler) const;
// Revoke with event_token
void RightTapped(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::RightTapped_revoker RightTapped(auto_revoke_t, RightTappedEventHandler const& handler) const;
public event RightTappedEventHandler RightTapped;
function onRightTapped(eventArgs) { /* Your code */ }
uIElement.addEventListener("righttapped", onRightTapped);
uIElement.removeEventListener("righttapped", onRightTapped);
- or -
uIElement.onrighttapped = onRightTapped;
Public Custom Event RightTapped As RightTappedEventHandler
<uielement RightTapped = "eventhandler" .../>
イベントの種類
注釈
タッチ アクションの RightTapped は、一定の時間 1 か所に留まるアクションを処理した結果です。 タッチ アクションの場合は、同じ要素の Holding イベントが常にこれに先行しますが、RightTapped はタッチ ポイントが解放されるまで発生しません。 ポインターが押された時間が短すぎて、Hold の代わりにタップが発生した場合、または Hold アクションが HoldState で Canceled として終了した場合、RightTapped は起動しません。
RightTapped は、コンテキスト メニューを表示するために処理するイベントです。 アプリ設計で右タップ操作を使用する方法の詳細については、「 タッチ操作の設計 と カスタム ユーザー操作の UX ガイドライン 」を参照してください。
RightTapped イベントはジェスチャを表しますが、 PointerReleased イベントは下位レベルの入力イベントです。 RightTapped イベントと PointerReleased イベントは 、1 人のユーザー操作の結果として発生する可能性があります。 コントロールが既にコントロール ロジックでポインター イベントを処理している場合、または操作を処理している場合でも、RightTapped が発生するのを防ぐわけではありません。
RightTapped イベントは、複数のポインター ポイントの結果である可能性があります。 RightTapped などの上位レベルのジェスチャ イベントでは、個々の PointerId 値や個々の座標などの PointerPoint の詳細にすぐにアクセスできなくなります。 デバイスの種類 (PointerDeviceType) にアクセスでき、座標の場合は GetPosition を呼び出すことができます。これにより、複数のポインター ポイントから RightTap の座標の平均が得られます。
RightTapped はルーティング イベントです。 また、RightTapped イベント ソースにするには、 要素に IsRightTapEnabled を true にする必要があります (既定値は true です)。 IsRightTapEnabled が false のイベント ソース子要素から親にイベント がバブルする場合、親要素で IsRightTapEnabled が false の場合でも、親要素で RightTapped を処理できます。 ルーティング イベントの概念の詳細については、「 イベントとルーティング イベントの概要」を参照してください。
タッチ操作や、タッチ操作の結果に発生する対話/操作イベントについては、ヒット テストで要素が表示されない場合、イベント ソースとして使用したり、操作に関連付けられたイベントを起動することはできません。 UIElement.Visibility はVisible である必要があります。 派生型の他のプロパティも、ヒット テストの可視性に影響します。 詳しくは、「イベントとルーティング イベントの概要」をご覧ください。
RightTapped では、イベントのイベント データが Handled とマークされている場合でも、呼び出されるルートにイベント ハンドラーをアタッチする機能がサポートされています。 「 AddHandler」を参照してください。
特定のWindows ランタイム コントロールには、RightTapped イベントのクラスベースの処理が含まれる場合があります。 その場合、コントロールには OnRightTapped メソッドのオーバーライドが含まれている可能性があります。 右タップ アクションは、コンテキスト メニューまたはセカンダリ ウィンドウの表示に関連付けられている場合があります。 イベントのクラスベースの処理のしくみの詳細については、「 イベントとルーティング イベントの概要」を参照してください。
マウスとペン/スタイラス入力の RightTapped
入力システムは、ユーザーが RightTapped アクションとして要素の上でマウスの右ボタンをクリックするアクションを処理します。 イベントは、マウスの右ボタンが離されるまで発生しません。 マウス入力では、マウス ボタンが押されている時間や保持されているボタンに関係なく、既定では 保留イベントは 生成されません。
一部のペン デバイスには複数のボタンがあり、そのうちの 1 つはマウス デバイスの右ボタンと同じ方法で使用できます。 これはデバイスとその設定によって異なりますが、ペン デバイスで右クリックの同等の機能が有効になっている場合、入力システムは、これらのアクションに対して RightTapped を起動することもできます。
Windows 8 の動作
Windows 8 では RightTapped イベントのデータに問題がありました。ここで、RightTappedRoutedEventArgs.GetPosition から取得するポイントの X と Y の値が元に戻されました (X は実際には Y です。Yは本当にXでした)。 この問題は、Windows 8.1 以降で修正されています。 ただし、Windows 8.1用の Windows 8 アプリを再ターゲットする場合は、X と Y を入れ替えてこの問題を回避するコードがあった可能性があります。 その場合は、問題が修正されたため、再ターゲットするときにそのコードを削除します。
Windows 8 用にコンパイルされたが、Windows 8.1で実行されているアプリは、引き続きこの Windows 8 の動作を使用します。
また、Windows 8 には、このイベントを発生させ、コンテキスト メニューを表示する Shift + F10 の既定のキー処理は含まれていませんでした。 Shift + F10 は通常、VK_APP仮想キー値 (Properties キー) のセカンダリ キーの組み合わせであるため、Shift + F10 も RightTapped を発生させる可能性があります。 この問題は、Windows 8.1 以降で修正されています。Shift + F10 キーを押して RightTapped を起動するようになりました。 この変更は、 TextBox などのテキストの既定のコンテキスト メニューがある一部のコントロール、またはカスタム メニューとポップアップを呼び出すときに、既定のイベント処理として表示できます。
Windows 8 用にコンパイルされたが、Windows 8.1で実行されているアプリは、この Windows 8 動作を使用せず、修正されたWindows 8.1動作を使用します。