UIElement.OnPreviewMouseRightButtonDown(MouseButtonEventArgs) メソッド

定義

ハンドルされない PreviewMouseRightButtonDown ルーティング イベントが、このクラスから派生したルート内の要素に到達したときに呼び出されます。 このイベントに対するクラス処理を追加するには、このメソッドを実装します。

protected:
 virtual void OnPreviewMouseRightButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected virtual void OnPreviewMouseRightButtonDown(System.Windows.Input.MouseButtonEventArgs e);
abstract member OnPreviewMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnPreviewMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Overridable Sub OnPreviewMouseRightButtonDown (e As MouseButtonEventArgs)

パラメーター

e
MouseButtonEventArgs

イベント データを含む MouseButtonEventArgs 。 イベント データは、マウスの右ボタンが押されたことを報告します。

注釈

PreviewMouseRightButtonDown イベントはトンネリング ルートを移動しているように見えますが、実際には間接的な方法で移動します。 Mouse.PreviewMouseDown はトンネル ルーティングされる基になるイベントであり、イベント ルートに沿った各 UIElement は、同じ処理を使用してダイレクト ルーティング イベント MouseRightButtonDownを発生させます。 PreviewMouseRightButtonDown イベントは、この要素の目的で処理済みとしてマークできますが、処理された状態はイベント ルートに沿って他の要素に永続しません。 ただし、一般的なインスタンス ハンドラー ( handledEventsTooを指定しなかったハンドラー) が呼び出されないようにするために、イベントを処理済みとしてマークすることができます。

UIElementでの一般的なマウス イベント処理の既定の実装では、Mouse.PreviewMouseDownをリッスンし、適切なローカル イベントに変換します。 このロジックをオーバーライドする場合は、派生クラスを作成する必要があります。 派生クラスの静的コンストラクターで、 Mouse.PreviewMouseDownの代替クラス ハンドラーを登録します。 UIElementをオーバーライドして、OnPreviewMouseRightButtonDownのマウス処理動作を変更することはできません。

または、特定のマウス状態のイベント処理を変更するために、このメソッドをオーバーライドすることもできます。 基本実装を呼び出すかどうかを選択するかどうかは、シナリオによって異なります。 base の呼び出しに失敗すると、 OnPreviewMouseRightButtonDown呼び出す先祖クラスのマウス イベントの既定の入力処理が無効になります。 たとえば、基底クラスを呼び出さずに、 Control から派生し、派生クラスの OnPreviewMouseRightButtonDown をオーバーライドすることができます。ただし、このオーバーライドにより、 Control の既定の動作の一部であるコントロールのコンテキスト メニュー サービスが無効になります。

適用対象