Mouse.MouseDown Mouse.MouseDown Mouse.MouseDown Attached Event

Definition

Tritt auf, wenn eine Maustaste gedrückt wird.Occurs when any mouse button is depressed.

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

Hinweise

Um zu bestimmen, welche Maustaste gedrückt wurde, überprüfen Sie die ChangedButton -Eigenschaft in der MouseButtonEventArgs an den Ereignishandler übergeben.To determine which mouse button was depressed, check the ChangedButton property in the MouseButtonEventArgs passed to the handler.

Dies ist ein angefügtes Ereignis.This is an attached event. WPFWPF implementiert angefügte Ereignisse als Routingereignisse.implements attached events as routed events. Angefügte Ereignisse sind im Wesentlichen eine XAMLXAML Sprachkonzept zum Verweisen auf Ereignisse, die für Objekte verarbeitet werden können, die dieses Ereignis nicht definieren die WPFWPF aktivieren Sie das Ereignis, das Durchlaufen einer Route auch erweitert.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. Angefügte Ereignisse haben eine direkte Handhabung-Syntax nicht im Code. um Handler für ein Routingereignis im Code anzufügen, verwenden Sie eine angegebene Add * Ereignishandlermethode.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. Weitere Informationen finden Sie unter Übersicht über angefügte Ereignisse.For details, see Attached Events Overview.

Die Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) Framework baut auf dem angefügten Ereignis auf, indem dieses als zwei unterschiedliche Common Language Runtime (CLR)common language runtime (CLR) Ereignisse auf UIElement und ContentElement: MouseLeftButtonDown und MouseRightButtonDown.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. Diese Implementierungen zu behandeln, die zugrunde liegende MouseDown Ereignis und Lesen Sie die Argumente des Ereignisses zu bestimmen, ob die linke oder rechte Maustaste beteiligt war.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. Für eine drei-Tasten-Maus wird keine unterstützt auf Frameworkebene-Ereignis für die Schaltfläche zentriert aus.For a three-button mouse, there is no framework-level event support for the center button. Verwenden Sie die MouseDown Ereignis, und Überprüfen der MiddleButton Zustand in den Ereignisdaten Argumente.You should use the MouseDown event and check the MiddleButton state in the event arguments.

Wichtig

Einige ContentElement abgeleitete Klassen, die Control-ähnliches Verhalten, z. B. Hyperlink, möglicherweise inhärente Klassenbehandlung für Mausereignisse-Schaltfläche.A few ContentElement derived classes that have control-like behavior, for example, Hyperlink, might have inherent class handling for mouse button events. Die linke Maustaste ausgelöste Ereignis ist das wahrscheinlichste Ereignis um eine Klassenbehandlung in einem Steuerelement zu erhalten.The left mouse button down event is the most likely event to have class handling in a control. Die Klassenbehandlung häufig kennzeichnet das zugrunde liegende Mouse Klassenereignis als behandelt.The class handling often marks the underlying Mouse class event as handled. Sobald das Ereignis als behandelt markiert ist, werden andere instanzhandlern, die auf das betreffende Element angefügt sind nicht normalerweise ausgelöst.Once the event is marked handled, other instance handlers that are attached to that element are not ordinarily raised. Keine andere Klasse oder Instanz Handler, die auf Elemente in der bubbling-Richtung zum Stamm in der Benutzeroberflächenautomatisierungs-Struktur angefügt sind, werden Regel nicht ausgelöst.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.

Können Sie beheben Sie das Problem, die im vorangehenden wichtigen Hinweis beschrieben wird und trotzdem erhalten MouseDown Ereignisse für die linke Maustaste gedrückt down-Ereignissen in einer abgeleiteten Klasse, die Klassenbehandlung mithilfe einer der folgenden Lösungen: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:

  • Fügen Sie Handler für die PreviewMouseDown -Ereignis, das nicht von den Steuerelementen als behandelt markiert ist.Attach handlers for the PreviewMouseDown event, which is not marked as handled by the controls. Beachten Sie, da dies ein Vorschauereignis ist, wird die Route am Stamm beginnt und auf das Steuerelement Tunnel.Notice that because this is a preview event, the route starts at the root and tunnels down to the control.

  • Registrieren Sie einen Handler für das Steuerelement durch Aufrufen von Prozedural AddHandler und Auswählen der Option für die Signatur, die es ermöglicht Handlern für Ereignisse zu lauschen, auch wenn sie bereits in die Routingereignisdaten als behandelt markiert sind.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.

Achten Sie für Routingereignisse, die im Zusammenhang mit der Maus darauf zu wie oder wann Sie diese als behandelt markieren.For routed events that relate to the mouse, be careful about how or when you mark them handled. Die Schwierigkeit bei der Erstellung der entsprechenden Optionen zu gibt an, ob übergeordnete Elemente auch über ein beliebiges informiert werden sollte Mausaktion ist in der Tat daher die WPFWPF Framework ausgewählt haben, das Modell müssen Sie das zugrunde liegende weitergeleitet Mausereignis als angefügt werden CLRCLR Ereignisse, die entlang der 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. Ähnliche Probleme, die bei der tunnelerzwingung Mausereignisse vorhanden sein.Similar issues exist with tunneling mouse events. Sie behandeln des Ereignisses und sollte nicht von untergeordneten Elementen an der Quelle behandelt werden, und wie würde die Zusammensetzung eines Steuerelements, dessen Bestandteile möglicherweise erwartet haben, auswirken?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?

Informationen zum RoutingereignisRouted Event Information

Feld "ID"Identifier field MouseDownEvent
Routing-StrategieRouting strategy BubblingBubbling
delegateDelegate MouseButtonEventHandler

Gilt für: