UIElement.OnMouseRightButtonDown(MouseButtonEventArgs) Method

Definition

Invoked when an unhandled MouseRightButtonDown 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 OnMouseRightButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected 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 Overridable Sub OnMouseRightButtonDown (e As MouseButtonEventArgs)

Parameters

e
MouseButtonEventArgs

The MouseButtonEventArgs that contains the event data. The event data reports that the right mouse button was pressed.

Remarks

The MouseRightButtonDown event appears to travel a bubbling route but actually travels in an indirect way. Mouse.MouseDown is the underlying event that is bubble routed, and each UIElement along the event route uses identical handling to raise the direct routed event MouseRightButtonDown. Although you can mark the MouseRightButtonDown event as handled for purposes of this element, the handled state does not perpetuate to other elements along the event route. 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.

The default implementation for general mouse event handling in UIElement listens for Mouse.MouseDown and converts it to an appropriate local event. If you want to override this logic, you must create a derived class. In the static constructor of your derived class, register an alternative class handler for Mouse.MouseDown. You cannot change the mouse handling behavior of UIElement by overriding OnMouseRightButtonDown.

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. Failing to call base disables default input handling for that mouse event on ancestor classes that also expect to invoke OnMouseRightButtonDown. For example, you can derive from Control and override OnMouseRightButtonDown 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.

Applies to