Edit

Share via


FrameworkElement.OnContextMenuOpening(ContextMenuEventArgs) Method

Definition

Invoked whenever an unhandled ContextMenuOpening routed event reaches this class in its route. Implement this method to add class handling for this event.

protected:
 virtual void OnContextMenuOpening(System::Windows::Controls::ContextMenuEventArgs ^ e);
protected virtual void OnContextMenuOpening (System.Windows.Controls.ContextMenuEventArgs e);
abstract member OnContextMenuOpening : System.Windows.Controls.ContextMenuEventArgs -> unit
override this.OnContextMenuOpening : System.Windows.Controls.ContextMenuEventArgs -> unit
Protected Overridable Sub OnContextMenuOpening (e As ContextMenuEventArgs)

Parameters

e
ContextMenuEventArgs

The RoutedEventArgs that contains the event data.

Remarks

This method has no default implementation. You should still call the base implementation in case an intermediate class in the inheritance has implemented this method.

The purpose of this method is somewhat similar to common language runtime (CLR) event pattern On* methods: it provides the means to handle the matching event from derived classes with a class handler instead of an instance handler. In this case the matching event is a routed event. The implementation pattern of the On* methods is different for routed events because the routed event may have been raised by a child element, not necessarily the element that will invoke handlers, so your implementation will need to take the event arguments' source properties into account (and should not try to re-raise the event in most cases). Subclasses of FrameworkElement could choose to call private class handler methods when the event is received along the route. One potential scenario is to take the arguments of the event and deliberately mark the event as handled.

Applies to