UIElement.OnPreviewMouseRightButtonDown(MouseButtonEventArgs) メソッド

定義

未処理の PreviewMouseRightButtonDown ルーティング イベントが、そのルート上で、このクラスから派生した要素に到達すると呼び出されます。Invoked when an unhandled PreviewMouseRightButtonDown routed event reaches an element in its route that is derived from this class. このイベントに対するクラス処理を追加するには、このメソッドを実装します。Implement this method to add class handling for this event.

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

イベント データを格納している MouseButtonEventArgsThe MouseButtonEventArgs that contains the event data. このイベント データは、マウスの右ボタンが押されたことを報告します。The event data reports that the right mouse button was pressed.

注釈

PreviewMouseRightButtonDown イベントは、トンネリングルートを移動するように見えますが、実際には間接的に移動します。The PreviewMouseRightButtonDown event appears to travel a tunneling route but actually travels in an indirect way. Mouse.PreviewMouseDown はトンネルルーティングされる基になるイベントです。イベントルートに沿った各 UIElement は、同一の処理を使用して、直接ルーティングイベント MouseRightButtonDownを発生させます。Mouse.PreviewMouseDown is the underlying event that is tunnel routed, and each UIElement along the event route uses identical handling to raise the direct routed event MouseRightButtonDown. この要素の目的のために PreviewMouseRightButtonDown イベントを処理済みとしてマークできますが、処理された状態は、イベントルートに沿った他の要素に perpetuate ません。Although you can mark the PreviewMouseRightButtonDown event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. ただし、一般的なインスタンスハンドラー (handledEventsTooが指定されていない) が呼び出されないようにするために、イベントを処理済みとしてマークすることもできます。However, you might want to mark the event as handled in order to prevent general instance handlers (those that did not specify handledEventsToo) from being invoked.

UIElement での一般的なマウスイベント処理の既定の実装では Mouse.PreviewMouseDown がリッスンされ、適切なローカルイベントに変換されます。The default implementation for general mouse event handling in UIElement listens for Mouse.PreviewMouseDown and converts it to an appropriate local event. このロジックをオーバーライドする場合は、派生クラスを作成する必要があります。If you want to override this logic, you must create a derived class. 派生クラスの静的コンストラクターで、Mouse.PreviewMouseDownの代替クラスハンドラーを登録します。In the static constructor of your derived class, register an alternative class handler for Mouse.PreviewMouseDown. OnPreviewMouseRightButtonDownをオーバーライドすることによって、UIElement のマウス処理動作を変更することはできません。You cannot change the mouse handling behavior of UIElement by overriding OnPreviewMouseRightButtonDown.

または、特定のマウス状態のイベント処理を変更するために、このメソッドをオーバーライドすることもできます。Alternatively, you can override this method in order to change event handling for a specific mouse state. 基本実装の呼び出しを選択するかどうかは、シナリオによって異なります。Whether you choose to call the base implementation depends on your scenario. Base を呼び出さないと、先祖クラスでそのマウスイベントの既定の入力処理が無効になり、OnPreviewMouseRightButtonDownも呼び出されます。Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke OnPreviewMouseRightButtonDown. たとえば、Control から派生させ、base を呼び出さずに派生クラスの OnPreviewMouseRightButtonDown をオーバーライドできます。ただし、このオーバーライドにより、Control の既定の動作の一部であるコントロールのコンテキストメニューサービスが無効になります。For example, you can derive from Control and override OnPreviewMouseRightButtonDown in your derived class without calling base; however, this override disables the context menu services on your control, which are part of the Control default behavior.

適用対象