Freigeben über


FrameworkContentElement.ContextMenuOpening Ereignis

Definition

Tritt ein, wenn ein Kontextmenü des Elements geöffnet wird.

public:
 event System::Windows::Controls::ContextMenuEventHandler ^ ContextMenuOpening;
public event System.Windows.Controls.ContextMenuEventHandler ContextMenuOpening;
member this.ContextMenuOpening : System.Windows.Controls.ContextMenuEventHandler 
Public Custom Event ContextMenuOpening As ContextMenuEventHandler 

Ereignistyp

Hinweise

Um Kontextmenüs manuell zu öffnen, sollten Handler der Ereignisse das relevante Ereignis als behandelt markieren. Andernfalls wird der vorhandene Wert der ContextMenu Eigenschaft verwendet, um automatisch ein Kontextmenü zu öffnen. Wenn Sie das behandelte Ereignis markieren, wird die Standardaktion effektiv abgebrochen. Dies kann eine Möglichkeit sein, den Wert der ContextMenu -Eigenschaft zurückzusetzen und dann das neue ContextMenuzu öffnen. Es gibt jedoch ein Timing-Problem, das Sie beachten sollten. Um das Kontextmenü vollständig durch einen ContextMenuOpening Handler zu ersetzen, darf das anfängliche Kontextmenü nicht null/leer sein. Alternativ müssen Sie das Ereignis möglicherweise behandeln und dann manuell ein neues Kontextmenü öffnen. Ausführliche Informationen finden Sie unter Vorgehensweise: Behandeln des ContextMenuOpening-Ereignisses.

Um dieses Ereignis als Format EventTrigger zu verwenden, müssen Sie auf den zugrunde liegenden Dienstereignisbezeichner verweisen:

<EventTrigger RoutedEvent="ContextMenuService.ContextMenuOpening">
  <!-- storyboard here ... -->
</EventTrigger>

(Diese Verwendung ist erforderlich, da die Ereignisimplementierung, FrameworkContentElement die das zugrunde liegende Dienstereignis verfügbar macht, dem Bezeichner für die ContextMenuOpening Verwendung in Triggern nicht ordnungsgemäß zugeordnet wird.)

Informationen zum Routingereignis

Bezeichnerfeld ContextMenuOpeningEvent
Routingstrategie Bubbling
Delegat ContextMenuEventHandler

Gilt für:

Weitere Informationen