Condividi tramite


UIElement.OnPreviewMouseLeftButtonDown(MouseButtonEventArgs) Metodo

Definizione

Viene richiamato ogni volta che un evento indirizzato PreviewMouseLeftButtonDown non gestito raggiunge un elemento nella propria route derivato da questa classe. Implementare questo metodo per aggiungere la gestione delle classi per questo 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)

Parametri

e
MouseButtonEventArgs

Oggetto MouseButtonEventArgs che contiene i dati dell'evento. I dati dell'evento indicano che è stato premuto il pulsante sinistro del mouse.

Commenti

L'evento PreviewMouseLeftButtonDown sembra viaggiare in un percorso di tunneling, ma in realtà viaggia in modo indiretto. Mouse.PreviewMouseDown è l'evento sottostante indirizzato dal tunnel e ogni UIElement lungo la route di eventi usa una gestione identica per generare l'evento PreviewMouseLeftButtonDownindirizzato diretto . Anche se è possibile contrassegnare l'evento PreviewMouseLeftButtonDown come gestito ai fini di questo elemento, lo stato gestito non perpetua ad altri elementi lungo la route dell'evento. Tuttavia, è possibile contrassegnare l'evento come gestito per impedire che i gestori di istanze generali (quelli che non specificano handledEventsToo) vengano richiamati.

Implementazione predefinita per la gestione generale degli eventi del mouse in UIElement ascolto Mouse.PreviewMouseDown e la converte in un evento locale appropriato. Se si vuole eseguire l'override di questa logica, è necessario creare una classe derivata. Nel costruttore statico della classe derivata registrare un gestore di classi alternativo per Mouse.PreviewMouseDown. Non è possibile modificare il comportamento di gestione del mouse di eseguendo l'override di UIElementOnPreviewMouseLeftButtonDown.

In alternativa, è possibile eseguire l'override di questo metodo per modificare la gestione degli eventi per uno stato del mouse specifico. Se si sceglie di chiamare l'implementazione di base dipende dallo scenario in uso. La mancata chiamata alla base disabilita la gestione dell'input predefinita per l'evento mouse nelle classi predecessori che prevedono anche di richiamare OnPreviewMouseLeftButtonDown. Ad esempio, è possibile derivare da Button ed eseguire l'override nella classe derivata senza chiamare l'implementazione OnPreviewMouseLeftButtonDown di base. Tuttavia, questa override disabilita l'evento Click .

Si applica a