FrameworkContentElement.ContextMenuOpening FrameworkContentElement.ContextMenuOpening FrameworkContentElement.ContextMenuOpening FrameworkContentElement.ContextMenuOpening Event

Definición

Se produce cuando se abre cualquier menú contextual en el elemento.Occurs when any context menu on the element is opened.

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 

Comentarios

Para abrir manualmente los menús contextuales, los controladores de los eventos deben marcar el evento pertinente como controlado.To manually open context menus, handlers of the events should mark the relevant event as handled. De lo contrario, el valor existente ContextMenu de la propiedad se utilizará para abrir automáticamente un menú contextual.Otherwise, the existing value of the ContextMenu property will be used to automatically open a context menu. Al marcar el evento como controlado, se cancelará la acción predeterminada y podría ser una oportunidad para restablecer el valor ContextMenu de la propiedad y, a ContextMenucontinuación, abrir el nuevo.Marking the event handled will effectively cancel the default action, and could be an opportunity to reset the value of the ContextMenu property and then open the new ContextMenu. Sin embargo, hay un problema de temporización que debe tener en cuenta.However, there is a timing issue you should be aware of. Para reemplazar por completo el menú contextual a través ContextMenuOpening de un controlador, el menú contextual inicial no debe ser null ni estar vacío.In order to completely replace the context menu through a ContextMenuOpening handler, the initial context menu must not be null / empty. Como alternativa, puede que tenga que controlar el evento y, a continuación, abrir manualmente un nuevo menú contextual.Alternatively, you might need to handle the event and then manually open a new context menu. Para obtener más detalles, vea Cómo: Controle el eventoContextMenuOpening.For details, see How to: Handle the ContextMenuOpening Event.

Para usar este evento como EventTrigger en un estilo, debe hacer referencia al identificador de evento del servicio subyacente:To use this event as an EventTrigger in a style, you must reference the underlying service event identifier:

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

(Este uso es necesario porque la implementación de eventos FrameworkContentElement en que expone el evento de servicio subyacente no asigna correctamente el ContextMenuOpening identificador para su uso en los desencadenadores).(This usage is required because the event implementation on FrameworkContentElement that exposes the underlying service event does not correctly map the ContextMenuOpening identifier for use in triggers).

Información sobre eventos enrutadosRouted Event Information

Campo de identificadorIdentifier field ContextMenuOpeningEvent
Estrategia de enrutamientoRouting strategy PropagaciónBubbling
delegadoDelegate ContextMenuEventHandler

Se aplica a

Consulte también: