ContentElement.MouseLeftButtonDown Evento

Definição

Ocorre quando o botão esquerdo do mouse é pressionado enquanto o ponteiro do mouse está sobre este elemento.

public:
 virtual event System::Windows::Input::MouseButtonEventHandler ^ MouseLeftButtonDown;
public event System.Windows.Input.MouseButtonEventHandler MouseLeftButtonDown;
member this.MouseLeftButtonDown : System.Windows.Input.MouseButtonEventHandler 
Public Custom Event MouseLeftButtonDown As MouseButtonEventHandler 

Tipo de evento

Implementações

Comentários

Embora essa Visão Geral de Eventos Roteados pareça seguir uma rota borbulhante por meio de uma árvore de elementos, na verdade, é um evento roteado direto que é gerado e recriado ao longo da árvore de elementos por cada ContentElement.

Esse evento é um dos vários eventos relacionados que relatam as especificidades do botão do mouse de um evento subjacente Mouse.MouseDown , que é um evento anexado que é processado por cada elemento ao longo de uma rota de evento.

Os argumentos desse evento expõem os argumentos do evento subjacente Mouse.MouseDown . Se esse evento for marcado como manipulado ao longo da rota do evento, os eventos específicos do botão do mouse ainda serão acionados; no entanto, os manipuladores dos eventos específicos do botão do mouse devem ser adicionados chamando AddHandlerexplicitamente , com a opção de manipular eventos que já estão marcados como manipulados para serem ouvintes do evento.

Conceitualmente, pense nesse evento (e em outros eventos de botão do mouse em ContentElement) como um "serviço" do mouse (com a definição de serviço fornecida pela Mouse classe). O evento adiciona a conveniência de não precisar marcar os estados do botão do mouse (esquerda-direita, para cima) dos eventos originais do mouse nos dados do evento. Para cenários mais avançados, como a verificação de estados de botões não padrão, talvez seja necessário usar as APIs na Mouse classe em vez daquelas em ContentElement.

Importante

Algumas ContentElement classes derivadas que têm um comportamento semelhante a controle, por exemplo, Hyperlink, podem ter tratamento de classe inerente para eventos de botão do mouse. O evento de botão esquerdo para baixo do mouse é o evento mais provável para ter manipulação de classe em um controle. O tratamento de classe geralmente marca o evento de Mouse classe subjacente como manipulado. Depois que o evento é marcado como manipulado, outros manipuladores de instância anexados a esse elemento normalmente não são gerados. Qualquer outro manipulador de classe ou instância anexado a elementos na direção borbulhante em direção à raiz na árvore de interface do usuário também normalmente não são gerados.

Você pode resolve o problema descrito no Importante anterior e ainda receber MouseLeftButtonDown eventos para eventos do botão esquerdo do mouse em uma classe derivada que tenha tratamento de classe usando qualquer uma dessas soluções:

  • Anexe manipuladores para o PreviewMouseDown evento, que não é marcado como manipulado pelos controles. Observe que, como se trata de um evento de visualização, a rota começa na raiz e faz o túnel até o controle.

  • Registre um manipulador no controle processualmente chamando AddHandler e escolhendo a opção de assinatura que permite aos manipuladores escutar eventos mesmo que eles já estejam marcados como manipulados nos dados de evento roteado.

Informações de evento encaminhado

Campo Identificador MouseLeftButtonDownEvent
Estratégia de roteamento Direto
Delegar MouseButtonEventHandler
  • Substitua OnMouseLeftButtonDown para implementar o tratamento de classe para esse evento em classes derivadas.

Aplica-se a

Confira também