UIElement.OnPreviewMouseLeftButtonDown(MouseButtonEventArgs) Método

Definição

Invocado quando um evento roteado PreviewMouseLeftButtonDown sem tratamento atinge um elemento em sua rota que deriva dessa classe. Implemente esse método para adicionar tratamento de classe a esse evento.

protected:
 virtual void OnPreviewMouseLeftButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected virtual void OnPreviewMouseLeftButtonDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnPreviewMouseLeftButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnPreviewMouseLeftButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Overridable Sub OnPreviewMouseLeftButtonDown (e As MouseButtonEventArgs)

Parâmetros

e
MouseButtonEventArgs

O MouseButtonEventArgs que contém os dados do evento. Os dados do evento relatam que o botão esquerdo do mouse foi pressionado.

Comentários

O PreviewMouseLeftButtonDown evento parece viajar por uma rota de túnel, mas na verdade viaja de forma indireta. Mouse.PreviewMouseDown é o evento subjacente que é roteado por túnel e cada UIElement um ao longo da rota de evento usa manipulação idêntica para gerar o evento PreviewMouseLeftButtonDownroteado direto. Embora você possa marcar o PreviewMouseLeftButtonDown evento como manipulado para fins desse elemento, o estado manipulado não perpetua para outros elementos ao longo da rota do evento. No entanto, talvez você queira marcar o evento como manipulado para impedir que manipuladores de instância geral (aqueles que não especificaram handledEventsToo) sejam invocados.

A implementação padrão para manipulação geral de eventos do mouse em escuta Mouse.PreviewMouseDown e a converte em UIElement um evento local apropriado. Se você quiser substituir essa lógica, deverá criar uma classe derivada. No construtor estático da classe derivada, registre um manipulador de classe alternativa para Mouse.PreviewMouseDown. Você não pode alterar o comportamento de tratamento do mouse de UIElement substituindo OnPreviewMouseLeftButtonDown.

Como alternativa, você pode substituir esse método para alterar o tratamento de eventos para um estado específico do mouse. Se você optar por chamar a implementação base depende do seu cenário. Falha ao chamar base desabilita o tratamento de entrada padrão para esse evento de mouse em classes ancestrais que também esperam invocar OnPreviewMouseLeftButtonDown. Por exemplo, você pode derivar de Button e substituir OnPreviewMouseLeftButtonDown em sua classe derivada sem chamar a implementação base; no entanto, essa substituição desabilita o Click evento.

Aplica-se a