Taal

FrameworkElement.ContextMenuOpening Gebeurtenis

Definitie

Treedt op wanneer een contextmenu op het element wordt geopend.

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 

Gebeurtenistype

Opmerkingen

Als u contextmenu's handmatig wilt openen, moeten handlers van de gebeurtenissen de relevante gebeurtenis markeren als verwerkt. Anders wordt de bestaande waarde van de ContextMenu eigenschap gebruikt om automatisch een contextmenu te openen. Als u de afgehandelde gebeurtenis markeert, wordt de standaardactie effectief geannuleerd en kan het een mogelijkheid zijn om de waarde van de ContextMenu eigenschap opnieuw in te stellen en vervolgens de nieuwe ContextMenute openen. Er is echter een timingprobleem waar u rekening mee moet houden. Als u het contextmenu volledig wilt vervangen door een ContextMenuOpening handler, mag het eerste contextmenu niet null/leeg zijn. U kunt ook de gebeurtenis afhandelen en vervolgens handmatig een nieuw contextmenu openen. Zie Procedure voor meer informatie: De gebeurtenis ContextMenuOpening afhandelen.

Als u deze gebeurtenis wilt gebruiken als een EventTrigger stijl, moet u verwijzen naar de onderliggende gekoppelde gebeurtenis:

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

(Dit gebruik is vereist omdat de gebeurtenis-implementatie op FrameworkElement die de onderliggende service-gebeurtenis beschikbaar maakt, de ContextMenuOpening id niet toe wijst, zodat u deze in triggers kunt gebruiken).

ContextMenu zelf is een FrameworkElement afgeleide klasse, maar deze gebeurtenis wordt niet gegenereerd vanuit het contextmenu dat als bron wordt geopend. De gebeurtenis wordt gegenereerd vanuit het element dat eigenaar is van het contextmenu als eigenschap en wordt alleen gegenereerd wanneer een gebruiker probeert een contextmenu in de gebruikersinterface te openen. Het is mogelijk voor ContextMenu zichzelf om een ContextMenu eigenschap te hebben, maar u moet dit scenario vermijden (zie voor meer informatie FrameworkElement.ContextMenu).

De ContextMenu klasse zelf heeft ook een vergelijkbare gebeurtenis (Opened) maar Opened biedt u niet de mogelijkheid om de actie van de gebruiker te annuleren.

Gerouteerde gebeurtenisgegevens

Item Waarde
Id-veld ContextMenuOpeningEvent
Routeringsstrategie Borrelen
Gedelegeerde ContextMenuEventHandler
  • Overschrijven OnContextMenuOpening voor het implementeren van klasseafhandeling voor deze gebeurtenis in afgeleide klassen.

Van toepassing op

Zie ook