ContentElement.MouseLeftButtonDown Evento

Definição

Ocorre quando o botão esquerdo do rato é pressionado enquanto o ponteiro do rato 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

Observações

Embora esta Visão Geral de Eventos Encaminhados pareça seguir uma rota borbulhante através de uma árvore de elementos, na verdade é um evento encaminhado direto que é levantado e reativado ao longo da árvore de elementos por cada ContentElement.

Este evento é um dos vários eventos relacionados que reportam as especificidades do botão do rato de um evento subjacente Mouse.MouseDown , que é um evento associado processado por cada elemento ao longo de uma rota de evento.

Os argumentos deste evento expõem os argumentos do evento subjacente Mouse.MouseDown . Se esse evento for marcado como gerido ao longo da rota do evento, os eventos específicos do botão do rato continuam a ser levantados; No entanto, os manipuladores dos eventos específicos do botão do rato devem ser adicionados chamando AddHandlerexplicitamente , com a opção de tratar eventos já marcados como tratados, para serem ouvintes do evento.

Conceptualmente, pense neste evento (e noutros eventos de botão do rato em ContentElement) como um "serviço" de rato (com a definição de serviço fornecida pela Mouse classe). O evento acrescenta a conveniência de não precisar de verificar os estados dos botões do rato (esquerda-direita, cima-baixo) dos eventos originais do rato nos dados do evento. Para cenários mais avançados, como verificar estados de botões não padrão, pode ser necessário usar as APIs da Mouse classe em vez das ContentElementde .

Importante

Algumas ContentElement classes derivadas que têm comportamento semelhante ao controlo, por exemplo, Hyperlink, podem ter tratamento inerente de classes para eventos de botão do rato. O evento do botão esquerdo do rato é o evento mais provável de ter manipulação de classes num controlo. A gestão de classes frequentemente marca o evento subjacente Mouse da classe como tratado. Uma vez marcado o evento como tratado, outros handlers de instância que estão ligados a esse elemento normalmente não são levantados. Qualquer outro handler de classe ou instância que esteja associado a elementos na direção de borbulhar em direção à raiz na árvore UI também não são normalmente elevados.

Pode resolver o problema descrito no Importante anterior e ainda assim receber MouseLeftButtonDown eventos para eventos com o botão esquerdo do rato numa classe derivada que tenha gestão de classes usando qualquer uma destas soluções:

  • Anexe os handlers para o PreviewMouseDown evento, que não está marcado como tratado pelos controlos. Repare que, por ser um evento de pré-visualização, a rota começa na raiz e desce até ao controlo.

  • Registe um handler no controlo proceduralmente, chamando AddHandler e escolhendo a opção de assinatura que permite aos handlers ouvir eventos mesmo que já estejam marcados como tratados nos dados do evento encaminhado.

Informação sobre Eventos Roteados

Número valor
Campo identificador MouseLeftButtonDownEvent
Estratégia de encaminhamento Direct
Delegado MouseButtonEventHandler
  • Override OnMouseLeftButtonDown para implementar o tratamento de classes para este evento em classes derivadas.

Aplica-se a

Ver também