UIElement3D.OnMouseDown(MouseButtonEventArgs) Metodo

Definizione

Viene richiamato ogni qualvolta un evento MouseDown connesso 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 public:
 virtual void OnMouseDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected internal virtual void OnMouseDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Friend Overridable Sub OnMouseDown (e As MouseButtonEventArgs)

Parametri

e
MouseButtonEventArgs

Oggetto MouseButtonEventArgs che contiene i dati dell'evento. Questi dati dell'evento contengono informazioni dettagliate sul pulsante del mouse che è stato premuto e sullo stato gestito.

Commenti

Le azioni del pulsante del mouse vengono gestite anche da un gestore di input dedicato. Altre funzionalità di programmazione che si basano su azioni del pulsante del mouse, ad esempio associazioni di input e comando, possono richiamare gestori per l'azione prima di essere esposti come azione generale del pulsante del mouse. Se queste funzionalità di sistema di input contrassegnano l'evento Mouse.MouseDown come gestito, OnMouseDown non viene richiamato.

Se si usa questo gestore di classi per contrassegnare l'evento come gestito, è possibile influire sugli eventi seguenti: MouseLeftButtonDown e MouseRightButtonDown. Uno di questi eventi può essere generato sull'elemento di ricezione quando Mouse.MouseDown viene ricevuto.

Se si contrassegna questo evento come gestito nella gestione delle classi, i subevent vengono ancora generati; tuttavia, passano lo stato gestito nei dati dell'evento. Se l'evento viene gestito nella gestione delle classi, i gestori di istanze per i subevent non vengono richiamati a meno che non si usi AddHandler(RoutedEvent, Delegate, Boolean) in modo esplicito per handledEventsTootrue collegare i gestori. I gestori di classi non vengono richiamati anche a meno che tali gestori di classi non siano stati registrati con la RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) firma con handledEventsTootrue. OnMouseDownGestendo , si implica che la gestione della classe ha eseguito l'account per tutte le possibili azioni del pulsante del mouse verso il basso. Questo comportamento potrebbe essere indesiderato. Pertanto, prestare attenzione quando si usa questo metodo virtuale per contrassegnare gli eventi come gestiti.

Ognuno degli eventi diretti specifici del pulsante ha anche un metodo On* virtuale; valutare se eseguire l'override di questi gestori di classi specifici del pulsante potrebbe essere più appropriato.

Questo metodo non ha alcuna implementazione predefinita. Poiché una classe intermedia nell'ereditarietà potrebbe implementare questo metodo, è consigliabile chiamare l'implementazione di base nell'implementazione.

Lo scopo di questo metodo è simile ai metodi CLR (Common Language Runtime): questo metodo fornisce i mezzi per gestire l'evento corrispondente da classi derivate creando un gestore di classi anziché un gestore di istanze. In questo caso l'evento corrispondente è un evento instradato. Il modello di implementazione dei metodi On* è diverso per gli eventi indirizzati perché un evento indirizzato può essere generato da un elemento figlio, che non è necessariamente l'elemento che richiama gestori. Pertanto, l'implementazione deve esaminare le proprietà di origine dei dati dell'evento. Non dovrebbe provare a riraizzare l'evento nella maggior parte dei casi.

Eseguendo l'override di questo metodo o registrando gestori di classi con RegisterClassHandlerclassi derivate di UIElement3D può chiamare i metodi del gestore della classe privata quando l'evento viene ricevuto lungo la route dell'evento. Uno scenario in cui la gestione delle classi è appropriata consiste nel modificare i dati dell'evento e contrassegnare l'evento indirizzato come gestito.

OnMouseDown viene introdotto in .NET Framework versione 3.5. Per altre informazioni, vedere Versioni e dipendenze.

Si applica a

Vedi anche