UIElement.OnPreviewMouseDown(MouseButtonEventArgs) UIElement.OnPreviewMouseDown(MouseButtonEventArgs) UIElement.OnPreviewMouseDown(MouseButtonEventArgs) UIElement.OnPreviewMouseDown(MouseButtonEventArgs) Method

Definition

Wird aufgerufen, wenn ein nicht behandeltes angefügtes PreviewMouseDown-Routingereignis beim Durchlauf ein von dieser Klasse abgeleitetes Element erreicht.Invoked when an unhandled PreviewMouseDown attached routed event reaches an element in its route that is derived from this class. Implementieren Sie diese Methode, um eine Klassenbehandlung für dieses Ereignis hinzuzufügen.Implement this method to add class handling for this event.

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

Parameter

e
MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs MouseButtonEventArgs

Das MouseButtonEventArgs, das die Ereignisdaten enthält.The MouseButtonEventArgs that contains the event data. Die Ereignisdaten melden, dass eine oder mehrere Maustasten gedrückt wurden.The event data reports that one or more mouse buttons were pressed.

Hinweise

Aktionen der Maus werden auch von einem dedizierten Eingabe-Manager verarbeitet.Mouse button actions are also handled by a dedicated input manager. Andere Features für die Programmierung, die Aktionen der Maus, z. B. Eingabe abhängig und Bindungen, Befehl möglicherweise Handler für die Aktion aufrufen, bevor es als eine allgemeine Schaltfläche Mausaktion verfügbar gemacht wird.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. Wenn Sie diese markieren Eingabedateien der Mouse.PreviewMouseDown Ereignis als behandelt, OnPreviewMouseDown wird nicht aufgerufen.If these input system features mark the Mouse.PreviewMouseDown event as handled, OnPreviewMouseDown is not invoked.

Wenn Sie diesen Klassenhandler verwenden, um das Ereignis als behandelt markieren, Sie möglicherweise Auswirkungen auf die folgenden Ereignisse: PreviewMouseLeftButtonDown und PreviewMouseRightButtonDown.If you use this class handler to mark the event as handled, you potentially impact the following events: PreviewMouseLeftButtonDown and PreviewMouseRightButtonDown. Eines dieser Ereignisse kann ausgelöst werden, auf dem empfangenden Element beim Mouse.PreviewMouseDown empfangen wird.Either of these events may be raised on the receiving element when Mouse.PreviewMouseDown is received.

Wenn Sie dieses Ereignis in der Klassenbehandlung als behandelt markieren, werden dennoch Unterereignisse ausgelöst. Sie kann jedoch zum behandelten Zustand in den Ereignisdaten übergeben werden.If you mark this event as handled in class handling, subevents are still raised; however, they pass the handled state in the event data. Wenn das Ereignis in der Klassenbehandlung behandelt wird, Instanzhandler für das Unterereignisse werden nicht aufgerufen, wenn Sie explizit verwenden AddHandler(RoutedEvent, Delegate, Boolean) mit handledEventsToo true um Handler anzufügen.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. Klassenhandler werden ebenfalls nicht aufgerufen, wenn diese Klassenhandler registriert wurden, mit der RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) Signatur mit handledEventsToo true.Class handlers also are not invoked unless those class handlers were registered with the RegisterClassHandler(Type, RoutedEvent, Delegate, Boolean) signature with handledEventsToo true. Durch Behandlung OnPreviewMouseDown, Sie sind wird impliziert, dass die Klassenbehandlung für alle möglichen Aktionen mit gedrückter berücksichtigt.By handling OnPreviewMouseDown, you are implying that your class handling accounted for all possible mouse button down actions. Dieses Verhalten kann unerwünscht sein. Daher vorsichtig, wenn Sie diese virtuelle Methode verwenden, um die Ereignisse als behandelt markieren.This behavior might be unwanted; Therefore, use caution when you use this virtual method to mark events as handled.

Jedes der direkten Schaltfläche-spezifische Ereignisse verfügt auch über ein virtuelles auf * Methode. Überlegen Sie, ob überschreiben diese Schaltfläche Klassenhandler besser geeignet sein könnte.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.

Diese Methode besitzt keine Standardimplementierung.This method has no default implementation. Da eine Zwischenklasse in die Vererbung diese Methode implementiert wird kann, empfehlen wir, dass Sie in Ihrer Implementierung die basisimplementierung aufrufen.Because an intermediate class in the inheritance might implement this method, we recommend that you call the base implementation in your implementation.

Der Zweck dieser Methode ähnelt der Common Language Runtime (CLR)common language runtime (CLR) Ereignismuster auf * Methoden: Diese Methode bietet die Möglichkeit, die von abgeleiteten Klassen das übereinstimmende Ereignis zu behandeln, indem ein Klassenhandler, statt einen Instanzhandler für die herstellen.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 diesem Fall wird das übereinstimmende Ereignis ein Routingereignis.In this case the matching event is a routed event. Das Implementierungsmuster On * Methoden unterscheidet sich für Routingereignisse, da ein Routingereignis durch ein untergeordnetes Element ausgelöst werden kann, handelt es sich nicht unbedingt das Element, mit das Handler aufgerufen wird.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. Aus diesem Grund muss die Implementierung die Datenquelleneigenschaften der Ereignisdaten zu untersuchen.Therefore, your implementation needs to examine the source properties of the event data. Sie sollten nicht versuchen, auf das Ereignis in den meisten Fällen ausgelöst werden.It should not try to reraise the event in most cases.

Durch diese Methode überschreiben oder durch die Registrierung der Handler mit Klasse RegisterClassHandler, abgeleitete Klassen von UIElement können Handlermethoden für private Klasse aufrufen, wenn das Ereignis auf der Ereignisroute empfangen wird.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. Ein Szenario, in dem Klassenbehandlung geeignet ist, wird zum Bearbeiten von Daten für das Ereignis und das Routingereignis als behandelt markieren.One scenario where class handling is appropriate is to manipulate the event data and mark the routed event as handled. Ein weiteres Szenario, das speziell für die Vorschau-Ereignisse ist kennzeichnen behandelt, sodass die entsprechenden bubbling-Klassenhandler nicht aufgerufen werden.Another scenario that is specifically for Preview events is to mark them handled so that the matching bubbling class handlers are not invoked.

Gilt für:

Siehe auch