UIElement.OnMouseDown(MouseButtonEventArgs) UIElement.OnMouseDown(MouseButtonEventArgs) UIElement.OnMouseDown(MouseButtonEventArgs) UIElement.OnMouseDown(MouseButtonEventArgs) Method

Definizione

Viene richiamato ogni qualvolta un evento MouseDown connesso non gestito raggiunge un elemento nella propria route derivato da questa classe.Invoked when an unhandled MouseDown attached event reaches an element in its route that is derived from this class. Implementare questo metodo per aggiungere la gestione delle classi per questo evento.Implement this method to add class handling for this event.

protected:
 virtual void OnMouseDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected 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 Overridable Sub OnMouseDown (e As MouseButtonEventArgs)

Parametri

e
MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs

Oggetto MouseButtonEventArgs che contiene i dati dell'evento.The MouseButtonEventArgs that contains the event data. Questi dati dell'evento contengono informazioni dettagliate sul pulsante del mouse che è stato premuto e sullo stato gestito.This event data reports details about the mouse button that was pressed and the handled state.

Commenti

Anche le azioni dei pulsanti del mouse vengono gestite da un gestore di input dedicato.Mouse button actions are also handled by a dedicated input manager. Le altre funzionalità di programmazione che si basano sulle azioni dei pulsanti del mouse, ad esempio le associazioni di input e comandi, potrebbero richiamare gestori per l'azione prima che venga esposta come azione generale del pulsante del mouse.Other programming features that rely on mouse button actions, such as input and command bindings, might invoke handlers for the action before it is exposed as a general mouse button action. Se queste funzionalità del sistema di input Mouse.MouseDown contrassegnano l'evento OnMouseDown come gestito, non viene richiamato.If these input system features mark the Mouse.MouseDown event as handled, OnMouseDown is not invoked.

Se si utilizza questo gestore classi per contrassegnare l'evento come gestito, si potrebbero avere effetti sui seguenti MouseLeftButtonDown eventi MouseRightButtonDown: e.If you use this class handler to mark the event as handled, you potentially impact the following events: MouseLeftButtonDown and MouseRightButtonDown. Uno di questi eventi può essere generato sull'elemento ricevente quando Mouse.MouseDown viene ricevuto.Either of these events may be raised on the receiving element when Mouse.MouseDown is received.

Se si contrassegna questo evento come gestito nella gestione delle classi, i SubEvent vengono comunque generati; Tuttavia, passano lo stato gestito nei dati dell'evento.If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. Se l'evento viene gestito nella gestione delle classi, i gestori di istanze per le sottoclassi non vengono richiamati, a meno AddHandler(RoutedEvent, Delegate, Boolean) che handledEventsToo non si utilizzi in modo esplicito con true per associare i gestori.If the event is handled in class handling, instance handlers for the subevents are not invoked unless you explicitly use AddHandler(RoutedEvent, Delegate, Boolean) with handledEventsToo true in order to attach handlers. Anche i gestori classi non vengono richiamati, a meno che tali gestori di classi RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) non siano handledEventsToo stati registrati con la firma con true.Class handlers also are not invoked unless those class handlers were registered with the RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) signature with handledEventsToo true. Grazie alla OnMouseDowngestione di, si presuppone che la gestione delle classi sia stata rappresentata per tutte le possibili azioni di pulsante del mouse.By handling OnMouseDown, you are implying that your class handling accounted for all possible mouse button down actions. Questo comportamento potrebbe essere indesiderato. Pertanto, prestare attenzione quando si utilizza questo metodo virtuale per contrassegnare gli eventi come gestiti.This behavior might be unwanted; Therefore, use caution when you use this virtual method to mark events as handled.

Ogni evento diretto specifico del pulsante dispone anche di un metodo virtuale on *; tenere presente che l'override di questi gestori di classi specifici del pulsante potrebbe essere più appropriato.Each of the button-specific direct events also has a virtual On* method; consider whether overriding these button-specific class handlers might be more appropriate.

Questo metodo non ha un'implementazione predefinita.This method has no default implementation. Poiché una classe intermedia nell'ereditarietà può implementare questo metodo, è consigliabile chiamare l'implementazione di base nell'implementazione di.Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

Lo scopo di questo metodo è simile al Common Language Runtime (CLR)common language runtime (CLR) modello di evento nei metodi *: questo metodo fornisce i mezzi per gestire l'evento di corrispondenza dalle classi derivate mediante la definizione di un gestore di classi invece di un gestore di istanza.The purpose of this method is similar to the Common Language Runtime (CLR)common language runtime (CLR) event pattern On* methods: this method provides the means to handle the matching event from derived classes by establishing a class handler instead of an instance handler. In questo caso, l'evento corrispondente è un evento indirizzato.In this case the matching event is a routed event. 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 richiamerà i gestori.The implementation pattern of the On* methods is different for routed events because a routed event can be raised by a child element, which is not necessarily the element that will invoke handlers. Pertanto, l'implementazione deve esaminare le proprietà di origine dei dati dell'evento.Therefore, your implementation needs to examine the source properties of the event data. Non tentare di rigenerare l'evento nella maggior parte dei casi.It should not try to reraise the event in most cases.

Eseguendo l'override di questo metodo o registrando i gestori di classi con RegisterClassHandler, le classi derivate di possono chiamare metodi del gestore della UIElement classe privata quando l'evento viene ricevuto lungo la route dell'evento.Either by overriding this method or by registering class handlers with RegisterClassHandler, derived classes of UIElement can call private class handler methods when the event is received along the event route. Uno scenario in cui la gestione delle classi è appropriata è modificare i dati degli eventi e contrassegnare l'evento indirizzato come gestito.One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled.

Si applica a

Vedi anche