FrameworkElement.ContextMenuOpening Händelse

Definition

Inträffar när en snabbmeny på elementet öppnas.

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 

Händelsetyp

Kommentarer

Om du vill öppna snabbmenyer manuellt bör hanterare av händelserna markera den relevanta händelsen som hanterad. Annars används det befintliga värdet för ContextMenu egenskapen för att automatiskt öppna en snabbmeny. Om du markerar den hanterade händelsen avbryts standardåtgärden effektivt och kan vara en möjlighet att återställa värdet för ContextMenu egenskapen och sedan öppna den nya ContextMenu. Det finns dock ett tidsfel som du bör känna till. För att helt ersätta snabbmenyn via en ContextMenuOpening hanterare får den inledande snabbmenyn inte vara null/tom. Du kan också behöva hantera händelsen och sedan öppna en ny snabbmeny manuellt. Mer information finns i Så här hanterar du händelsen ContextMenuOpening.

Om du vill använda den här händelsen som en EventTrigger i ett format måste du referera till den underliggande kopplade händelsen:

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

(Den här användningen krävs eftersom händelseimplementeringen som FrameworkElement exponerar den underliggande tjänsthändelsen inte mappar identifieraren ContextMenuOpening så att du kan använda den i utlösare).

ContextMenu i sig är en FrameworkElement härledd klass, men den här händelsen genereras inte från snabbmenyn som öppnas som källa. Händelsen genereras från elementet som "äger" snabbmenyn som en egenskap och aktiveras endast när en användare försöker öppna en snabbmeny i användargränssnittet. Det är möjligt för ContextMenu sig själv att ha en ContextMenu egenskap, men du bör undvika det här scenariot (mer information finns i FrameworkElement.ContextMenu).

Själva ContextMenu klassen har också en liknande händelse (Opened) men Opened ger dig inte möjlighet att avbryta användaråtgärden.

Information om dirigerad händelse

Objekt Value
Identifierarfält ContextMenuOpeningEvent
Routningsstrategi Bubblande
Delegera ContextMenuEventHandler
  • Åsidosätt OnContextMenuOpening för att implementera klasshantering för den här händelsen i härledda klasser.

Gäller för

Se även