Mouse.MouseDown Mouse.MouseDown Mouse.MouseDown Attached Event

Definizione

Si verifica quando viene premuto un pulsante qualsiasi del mouse.Occurs when any mouse button is depressed.

see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler
see AddMouseDownHandler, and RemoveMouseDownHandler

Commenti

Per determinare quale pulsante del mouse è stato premuto, ChangedButton controllare la proprietà MouseButtonEventArgs nell'oggetto passato al gestore.To determine which mouse button was depressed, check the ChangedButton property in the MouseButtonEventArgs passed to the handler.

Si tratta di un evento associato.This is an attached event. WPFWPFimplementa eventi associati come eventi indirizzati.implements attached events as routed events. Gli eventi associati sono fondamentalmente un XAMLXAML concetto di linguaggio per fare riferimento a eventi che possono essere gestiti su oggetti che non definiscono l'evento WPFWPF , che si espande in modo da consentire anche all'evento di attraversare una route.Attached events are fundamentally a XAMLXAML language concept for referencing events that can be handled on objects that do not define that event, which WPFWPF expands upon by also enabling the event to traverse a route. Gli eventi associati non hanno una sintassi di gestione diretta nel codice; per allineare gestori per un evento indirizzato nel codice, è possibile usare un metodo di gestione Add * designato.Attached events do not have a direct handling syntax in code; to attach handlers for a routed event in code, you use a designated Add*Handler method. Per informazioni dettagliate, vedere Cenni preliminari sugli eventi associati.For details, see Attached Events Overview.

Il Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) Framework si basa su questo evento associato, mostrandolo come due Common Language Runtime (CLR)common language runtime (CLR) eventi diversi UIElement in ContentElemente MouseLeftButtonDown : MouseRightButtonDowne.The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) framework builds on this attached event by surfacing it as two different Common Language Runtime (CLR)common language runtime (CLR) events on UIElement and ContentElement: MouseLeftButtonDown and MouseRightButtonDown. Queste implementazioni gestiscono l' MouseDown evento sottostante e leggono gli argomenti dell'evento per determinare se è stato richiesto il pulsante sinistro o destro del mouse.These implementations handle the underlying MouseDown event and read the arguments of the event to determine whether the left or right mouse button was involved. Per un mouse a tre pulsanti non è disponibile alcun supporto per gli eventi a livello di Framework per il pulsante centrale.For a three-button mouse, there is no framework-level event support for the center button. È consigliabile usare l' MouseDown evento e controllare lo MiddleButton stato negli argomenti dell'evento.You should use the MouseDown event and check the MiddleButton state in the event arguments.

Importante

Alcune ContentElement classi derivate che hanno un comportamento simile a un controllo, Hyperlinkad esempio, potrebbero avere una gestione della classe intrinseca per gli eventi dei pulsanti del mouse.A few ContentElement derived classes that have control-like behavior, for example, Hyperlink, might have inherent class handling for mouse button events. L'evento di selezione del pulsante sinistro del mouse è l'evento più probabile che contenga la gestione delle classi in un controllo.The left mouse button down event is the most likely event to have class handling in a control. La gestione delle classi spesso contrassegna l' Mouse evento della classe sottostante come gestito.The class handling often marks the underlying Mouse class event as handled. Una volta che l'evento è stato contrassegnato come gestito, gli altri gestori di istanze collegati a tale elemento non vengono in genere generati.Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Anche tutti gli altri gestori di istanza o di classe collegati agli elementi nella direzione di bubbling verso la radice nell'albero dell'interfaccia utente non vengono generati normalmente.Any other class or instance handlers that are attached to elements in the bubbling direction towards the root in the UI tree are also not ordinarily raised.

È possibile risolvere il problema descritto nella Nota importante precedente e continuare a ricevere MouseDown gli eventi per gli eventi di un pulsante sinistro del mouse su una classe derivata con gestione delle classi utilizzando una di queste soluzioni:You can resolve the issue that is outlined in the preceding Important note and still receive MouseDown events for left mouse button down events on a derived class that has class handling by using either of these solutions:

  • Connetti gestori per l' PreviewMouseDown evento, che non è contrassegnato come gestito dai controlli.Attach handlers for the PreviewMouseDown event, which is not marked as handled by the controls. Si noti che poiché si tratta di un evento di anteprima, la route inizia dalla radice e ne effettua il tunneling fino al controllo.Notice that because this is a preview event, the route starts at the root and tunnels down to the control.

  • Registrare un gestore sul controllo in modo procedurale chiamando AddHandler e scegliendo l'opzione Signature che consente ai gestori di restare in ascolto degli eventi anche se sono già contrassegnati come gestiti nei dati degli eventi indirizzati.Register a handler on the control procedurally by calling AddHandler and choosing the signature option that enables handlers to listen for events even if they are already marked as handled in the routed event data.

Per gli eventi indirizzati correlati al mouse, prestare attenzione a come o quando vengono contrassegnati come gestiti.For routed events that relate to the mouse, be careful about how or when you mark them handled. La difficoltà nell'apportare le scelte appropriate relative al fatto che gli elementi padre debbano anche essere informati su una determinata azione del mouse WPFWPF è infatti il motivo per cui il Framework ha scelto il modello per far emergere CLRCLR l'evento indirizzato del mouse sottostante come eventi lungo la route.The difficulty in making the appropriate choices about whether parent elements should also be informed about any given mouse action is in fact why the WPFWPF framework chose the model of having the underlying mouse routed event be surfaced as CLRCLR events along the route. Sono presenti problemi simili con il tunneling degli eventi del mouse.Similar issues exist with tunneling mouse events. È necessario gestire l'evento e non essere gestito da ulteriori elementi figlio verso l'origine e in che modo influisce sulla composizione di un controllo in cui i componenti di composizione potrebbero avere comportamenti del mouse previsti?Should you handle the event and not have it be handled by further children toward the source, and how would that affect compositing a control where the compositing pieces might have expected mouse behaviors?

Informazioni evento indirizzatoRouted Event Information

Campo identificatoreIdentifier field MouseDownEvent
Strategia di routingRouting strategy BubblingBubbling
delegatoDelegate MouseButtonEventHandler

Si applica a