FrameworkElement.ContextMenuOpening Evento

Definição

Ocorre quando qualquer menu contextual do elemento é aberto.

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 

Tipo de Evento

Observações

Para abrir manualmente menus de contexto, os gestores dos eventos devem marcar o evento relevante como tratado. Caso contrário, o valor existente da ContextMenu propriedade será usado para abrir automaticamente um menu de contexto. Marcar o evento gerido cancela efetivamente a ação padrão e pode ser uma oportunidade para redefinir o valor da ContextMenu propriedade e depois abrir a nova ContextMenuação . No entanto, há uma questão de timing de que deves estar ciente. Para substituir completamente o menu de contexto através de um ContextMenuOpening handler, o menu contextual inicial não pode ser nulo / vazio. Alternativamente, pode ser necessário gerir o evento e depois abrir manualmente um novo menu contextual. Para detalhes, veja Como: Gerir o Evento de Abertura do MenuContexto.

Para usar este evento num EventTrigger estilo, deve referenciar o evento subjacente associado:

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

(Esta utilização é necessária porque a implementação do evento que FrameworkElement expõe o evento de serviço subjacente não mapeia o ContextMenuOpening identificador de forma a que possa usá-lo nos triggers).

ContextMenu ela própria é uma FrameworkElement classe derivada, mas este evento não será gerado a partir do menu contextual aberto como fonte. O evento é gerado a partir do elemento que "possui" o menu de contexto como propriedade e só é ativado quando um utilizador tenta abrir um menu de contexto na interface. É possível que ContextMenu ele próprio tenha uma ContextMenu propriedade, mas deve evitar este cenário (para mais detalhes, veja FrameworkElement.ContextMenu).

A ContextMenu própria classe também tem um evento semelhante (Opened), mas Opened não te dá a oportunidade de cancelar a ação do utilizador.

Informação sobre Eventos Roteados

Iteme Value
Campo identificador ContextMenuOpeningEvent
Estratégia de encaminhamento Borbulhar
Delegar ContextMenuEventHandler
  • Override OnContextMenuOpening para implementar o tratamento de classes para este evento em classes derivadas.

Aplica-se a

Ver também