Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

FrameworkElement.ContextMenuOpening (Evento)

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

Espacio de nombres:  System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
public event ContextMenuEventHandler ContextMenuOpening
<object ContextMenuOpening="ContextMenuEventHandler" .../>

Campo de identificador

ContextMenuOpeningEvent

Estrategia de enrutamiento

Propagación

Delegate

ContextMenuEventHandler

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

Para abrir manualmente los menús contextuales, los controladores de los eventos deben marcar el evento pertinente como administrado. De lo contrario, el valor existente de la propiedad ContextMenu se usa para abrir automáticamente un menú contextual. Al marcar el evento como administrado, se cancela de hecho la acción predeterminada y podría ser una oportunidad para restablecer el valor de la propiedad ContextMenu y, a continuación, abrir el nuevo objeto ContextMenu. Sin embargo, hay un problema de control de tiempo que se debe tener en cuenta. Para reemplazar completamente el menú contextual a través de un controlador de ContextMenuOpening, el menú contextual inicial no debe estar vacío ni ser nulo. Alternativamente, quizá necesite administrar el evento y, a continuación, abrir manualmente un nuevo menú contextual. Para obtener información detallada, vea Cómo: Controlar el evento ContextMenuOpening.

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


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


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

ContextMenu es una clase derivada de FrameworkElement, pero este evento no se provoca desde 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 tenga una propiedad ContextMenu, pero este escenario se debe evitar (para obtener información detallada, vea FrameworkElement.ContextMenu).

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

.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.