ContentElement.OnMouseUp(MouseButtonEventArgs) Metodo

Definizione

Richiamato quando un evento indirizzato non gestito MouseUp raggiunge un elemento nella route derivata da questa classe. Implementare questo metodo per aggiungere la gestione delle classi per questo evento.

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

Parametri

e
MouseButtonEventArgs

Oggetto MouseButtonEventArgs contenente i dati dell'evento. I dati dell'evento segnalano che il pulsante del mouse è stato rilasciato.

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 le associazioni di input e di comando, potrebbero richiamare i gestori per l'azione prima che venga esposta come azione generale del pulsante del mouse. Se queste funzionalità del sistema di input contrassegnano l'evento Mouse.MouseUp come gestito, OnMouseUp non viene richiamato.

Se si usa questo gestore di classi per contrassegnare l'evento come gestito, si potrebbero influire sugli eventi seguenti: MouseLeftButtonUp e MouseRightButtonUp. Uno di questi eventi potrebbe essere generato sull'elemento ricevente quando Mouse.MouseUp viene ricevuto.

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

Ogni evento diretto specifico del pulsante ha anche un metodo On* virtuale; valutare se l'override di questi gestori di classi specifici del pulsante potrebbe essere più appropriato.

Questo metodo non ha un'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 On* di Common Language Runtime (CLR): questo metodo fornisce i mezzi per gestire l'evento corrispondente dalle classi derivate stabilendo un gestore classi anziché un gestore di istanze. In questo caso l'evento corrispondente è un evento indirizzato. 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. Pertanto, l'implementazione deve esaminare le proprietà di origine dei dati dell'evento. Non dovrebbe cercare di ristabilire l'evento nella maggior parte dei casi.

Eseguendo l'override di questo metodo o registrando gestori di classi con RegisterClassHandler, le classi derivate di possono chiamare metodi del gestore di ContentElement classi private 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.

Si applica a