Freigeben über


FrameworkElement.OnContextMenuOpening(ContextMenuEventArgs) Methode

Definition

Der Aufruf erfolgt immer dann, wenn ein nicht behandeltes ContextMenuOpening-Routingereignis diese Klasse auf der Route erreicht. Implementieren Sie diese Methode, um eine Klassenbehandlung für dieses Ereignis hinzuzufügen.

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)

Parameter

e
ContextMenuEventArgs

Das RoutedEventArgs, das die Ereignisdaten enthält.

Hinweise

Diese Methode verfügt über keine Standardimplementierung. Sie sollten die Basisimplementierung trotzdem aufrufen, falls diese Methode von einer Zwischenklasse in der Vererbung implementiert wurde.

Der Zweck dieser Methode ähnelt in etwa dem CLR-Ereignismuster (Common Language Runtime) on*-Methoden: Sie bietet die Möglichkeit, das übereinstimmende Ereignis von abgeleiteten Klassen mit einem Klassenhandler anstelle eines instance-Handlers zu behandeln. In diesem Fall ist das übereinstimmende Ereignis ein Routingereignis. Das Implementierungsmuster der On*-Methoden unterscheidet sich bei Routingereignissen, da das routingfähige Ereignis möglicherweise von einem untergeordneten Element ausgelöst wurde, nicht unbedingt von dem Element, das Handler aufruft. Daher muss ihre Implementierung die Quelleigenschaften der Ereignisargumente berücksichtigen (und sollte in den meisten Fällen nicht versuchen, das Ereignis erneut auszulösen). Unterklassen von FrameworkElement können private Klassenhandlermethoden aufrufen, wenn das Ereignis entlang der Route empfangen wird. Ein mögliches Szenario besteht darin, die Argumente des Ereignisses zu verwenden und das Ereignis bewusst als behandelt zu markieren.

Gilt für: