FrameworkElement.ContextMenuOpening Evento
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.