Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Evento FrameworkElement.ContextMenuOpening

 

Publicado: octubre de 2016

Se produce cuando se abre cualquier menú contextual en el elemento.

Espacio de nombres:   System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)

public event ContextMenuEventHandler ContextMenuOpening

Para abrir manualmente los menús contextuales, controladores de los eventos deben marcar el evento pertinente como administrado. De lo contrario, el valor existente de la ContextMenu propiedad se utilizará para abrir automáticamente un menú contextual. Marcar el evento como controlado se cancela de hecho la acción predeterminada y podría ser una oportunidad para restablecer el valor de la ContextMenu propiedad y, a continuación, abra el nuevo ContextMenu. Sin embargo, hay un problema de tiempo que deben tenerse en cuenta. Para reemplazar completamente el menú contextual a través de un ContextMenuOpening controlador, el menú contextual inicial no debe ser null o vacía. O bien, tendrá que controlar el evento y, a continuación, abrir un menú contextual nuevo manualmente. Para obtener más información, consulte Cómo: controlar el evento ContextMenuOpening.

Para usar este evento como un EventTrigger en un estilo, debe hacer referencia el evento asociado subyacente:

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

(Se requiere este uso porque la implementación de eventos en FrameworkElement que expone el evento de servicio subyacente no asigna el ContextMenuOpening identificador que se puede usar en desencadenadores).

ContextMenu es un FrameworkElement clase derivada, pero no se producirá este evento en el menú contextual que se abre como origen. El evento se provoca desde el elemento que "posee" el menú contextual como una propiedad y sólo se produce cuando un usuario intenta abrir un menú contextual en la interfaz de usuario. Es posible que ContextMenu para tener un ContextMenu propiedad, pero se debe evitar esta situación (para obtener más información, consulte FrameworkElement.ContextMenu).

El ContextMenu propia clase también tiene un evento similar (Opened) pero Opened no proporciona la oportunidad de cancelar la acción del usuario.

Campo identificador

ContextMenuOpeningEvent

Estrategia de enrutamiento

Propagación

Delegate

ContextMenuEventHandler

  • Reemplazar OnContextMenuOpening para implementar el control de clases para este evento en clases derivadas.

.NET Framework
Disponible desde 3.0
Volver al principio
Mostrar: