Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Mouse.MouseDown Evento associato

 

Data di pubblicazione: ottobre 2016

Si verifica quando viene premuto un pulsante qualsiasi del mouse.

Spazio dei nomi:   System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

See AddMouseDownHandler, RemoveMouseDownHandler

Per determinare quale pulsante del mouse è premuto, verificare la ChangedButton proprietà il MouseButtonEventArgs passato al gestore.

Si tratta di un evento associato. WPF gli eventi associati vengono implementati come eventi indirizzati. Gli eventi associati sono fondamentalmente una XAML concetto del linguaggio per fare riferimento a eventi che possono essere gestiti a oggetti che definiscono tale evento, quale WPF espande consentendo inoltre l'evento di attraversare una route. Gli eventi associati non sono una sintassi per la gestione diretta nel codice. Per associare i gestori per un evento indirizzato nel codice, si utilizza un'aggiunta designato * metodo del gestore. Per informazioni dettagliate, vedere Panoramica degli eventi associati.

Il Windows Presentation Foundation (WPF) framework si basa su questo evento associato mostrandolo come due diversi Common Language Runtime (CLR) eventi su UIElement e ContentElement: MouseLeftButtonDown e MouseRightButtonDown. Queste implementazioni di handle sottostante MouseDown eventi e leggere gli argomenti dell'evento per determinare se è stato interessato il pulsante sinistro o destro del mouse. Per un mouse a tre pulsanti, non esiste supporto eventi a livello di framework per il pulsante centrale. Si consiglia di utilizzare il MouseDown evento e verificare i MiddleButton argomenti dell'evento di stato.

System_CAPS_importantImportante

Alcuni ContentElement le classi derivate che presentano un comportamento simile al controllo, ad esempio, Hyperlink, potrebbe essere intrinseca delle classi per gli eventi del pulsante del mouse. Il pulsante sinistro del mouse all'evento è più probabile per la gestione in un controllo della classe. La gestione delle classi spesso contrassegna sottostante Mouse classe di evento come gestito. Dopo l'evento è contrassegnato come gestito, gli altri gestori istanza sono associati a tale elemento non vengono normalmente generati. Eventuali altri gestori di classe o istanza che sono associati agli elementi nella direzione bubbling verso la radice dell'albero dell'interfaccia utente anche in genere non vengono generati.

È possibile risolvere il problema descritto nella nota Importante precedente e continuare a ricevere MouseDown gli eventi per pulsante sinistro del mouse su una classe derivata che dispone di classe di gestione utilizzando una delle soluzioni seguenti:

  • Collegare i gestori per il PreviewMouseDown evento, che non è contrassegnato come gestito dai controlli. Si noti che, poiché si tratta di un evento di anteprima, la route inizia alla radice e giunge fino al controllo.

  • Registrare un gestore sul controllo a livello di routine chiamando AddHandler e scegliendo l'opzione di firma che consente ai gestori di ascolto di eventi anche se sono già contrassegnati come gestiti nei dati degli eventi indirizzati.

Per gli eventi indirizzati correlati al mouse, prestare attenzione come o quando vengono contrassegnati come gestiti. Difficile decidere se gli elementi padre devono anche essere informati qualsiasi azione del mouse in realtà è motivo di WPF framework fornisce un modello con l'evento del mouse indirizzato sottostante viene mostrato come CLR gli eventi della route. Sono presenti problemi simili con tunneling gli eventi del mouse. Deve è gestire l'evento di non essere gestita da ulteriori elementi figlio verso l'origine e come sarebbe composizione che interessano un controllo in cui le cui parti potrebbero prevedere comportamenti del mouse?

Campo dell'identificatore

MouseDownEvent

Strategia di routing

Bubbling

delegate

MouseButtonEventHandler

Torna all'inizio
Mostra: