FrameworkElement.ContextMenuOpening Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit lorsqu'un menu contextuel sur l'élément est ouvert.
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
Type d'événement
Remarques
Pour ouvrir manuellement des menus contextuels, les gestionnaires des événements doivent marquer l’événement approprié comme étant géré. Sinon, la valeur existante de la ContextMenu propriété sera utilisée pour ouvrir automatiquement un menu contextuel. Le marquage de l’événement géré annule efficacement l’action par défaut et peut être l’occasion de réinitialiser la valeur de la ContextMenu propriété, puis d’ouvrir le nouveau ContextMenu. Toutefois, il existe un problème de calendrier dont vous devez être conscient. Pour remplacer complètement le menu contextuel par le biais d’un ContextMenuOpening gestionnaire, le menu contextuel initial ne doit pas être null/vide. Vous devrez également gérer l’événement, puis ouvrir manuellement un nouveau menu contextuel. Pour plus d’informations, consultez Guide pratique pour gérer l’événement ContextMenuOpening.
Pour utiliser cet événement en tant que dans EventTrigger un style, vous devez référencer l’événement joint sous-jacent :
<EventTrigger RoutedEvent="ContextMenuService.ContextMenuOpening">
<!-- storyboard here ... -->
</EventTrigger>
(Cette utilisation est requise, car l’implémentation d’événement sur FrameworkElement qui expose l’événement de service sous-jacent ne mappe pas l’identificateur ContextMenuOpening de sorte que vous pouvez l’utiliser dans des déclencheurs).
ContextMenu il s’agit d’une FrameworkElement classe dérivée, mais cet événement ne sera pas déclenché à partir du menu contextuel ouvert en tant que source. L’événement est déclenché à partir de l’élément qui « possède » le menu contextuel en tant que propriété et n’est déclenché que lorsqu’un utilisateur tente d’ouvrir un menu contextuel dans l’interface utilisateur. Il est possible pour ContextMenu lui-même d’avoir une ContextMenu propriété, mais vous devez éviter ce scénario (pour plus d’informations, voir FrameworkElement.ContextMenu).
La ContextMenu classe elle-même a également un événement similaire (Opened), mais Opened ne vous permet pas d’annuler l’action de l’utilisateur.
Informations sur les événements acheminés
Champ Identificateur | ContextMenuOpeningEvent |
Stratégie de routage | Bouillonnant |
Délégué | ContextMenuEventHandler |
- Remplacez OnContextMenuOpening pour implémenter la gestion des classes pour cet événement dans des classes dérivées.