Compartilhar via


UIElement.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 esse evento roteado pareça seguir uma rota de propagação por meio de uma árvore de elementos, na verdade é um evento roteado direto que é gerado e reraizado ao longo da árvore de elementos por cada UIElement.

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 dados de evento desse evento expõem os dados de evento do evento subjacente Mouse.MouseDown . Se esse evento estiver 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. Se você marcar MouseLeftButtonDown manipulado, estará essencialmente marcando Mouse.MouseDown manipulado para todos os ouvintes adicionais ao longo da rota e em todos os eventos relacionados. Isso possivelmente inclui eventos gerados pelo manipulador de classe, como MouseDoubleClick.

Conceitualmente, considere esse evento (e outros eventos de botão do mouse em UIElement) 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 (esquerdo-direito, 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 classe em Mouse vez daquelas em UIElement.

Importante

Algumas classes de controle podem ter manipulação de classe inerente para eventos de botão do mouse. O evento do botão esquerdo do mouse para baixo é o evento mais provável para ter manipulação de classe em um controle. O tratamento de classe geralmente marca o evento de classe subjacente Mouse 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 que esteja anexado a elementos na direção borbulhante em direção à raiz na árvore de interface do usuário também não é gerado normalmente.

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 manipulação 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 esse é um evento de visualização, a rota começa na raiz e faz o túnel para baixo 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