ContentElement.OnMouseRightButtonDown(MouseButtonEventArgs) メソッド

定義

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

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

パラメーター

e
MouseButtonEventArgs

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

注釈

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

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

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

適用対象