Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Mouse.MouseDown Angefügtes Ereignis

 

Veröffentlicht: Oktober 2016

Tritt auf, wenn eine Maustaste gedrückt wird.

Namespace:   System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

See AddMouseDownHandler, RemoveMouseDownHandler

Um zu bestimmen, welche Maustaste gedrückt wurde, überprüfen Sie die ChangedButton Eigenschaft in der MouseButtonEventArgs an den Ereignishandler übergeben.

Dies ist ein angefügtes Ereignis. WPF implementiert angefügte Ereignisse als Routingereignisse. Angefügte Ereignisse sind im Wesentlichen eine XAML Sprachkonzept zum Verweisen auf Ereignisse, die für Objekte behandelt werden können, die das Ereignis nicht definieren die WPF nach der Aktivierung des Ereignis, das Durchlaufen einer Route erweitert. 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 * Handler-Methode. Weitere Informationen finden Sie unter Übersicht über angefügte Ereignisse.

Die Windows Presentation Foundation (WPF) Framework baut auf dem angefügten Ereignis auf, indem dieses als zwei unterschiedliche Common Language Runtime (CLR) Ereignisse auf UIElement und ContentElement: MouseLeftButtonDown und MouseRightButtonDown. Diese Implementierungen behandeln die zugrunde liegende MouseDown Ereignis und Lesen Sie die Argumente des Ereignisses bestimmt, ob die linke oder rechte Maustaste beteiligt war. Bei einer drei-Tasten-Maus besteht der mittleren Maustaste nicht unterstützt. Verwenden Sie die MouseDown Ereignis, und überprüfen die MiddleButton Status im-Argumente.

System_CAPS_importantWichtig

Einige ContentElement abgeleitete Klassen mit Steuerelement Verhalten, z. B. Hyperlink, möglicherweise inhärente Klassenbehandlung für Mausereignisse-Schaltfläche. Die linke Maustaste ausgelöste Ereignis ist höchstwahrscheinlich Ereignisses Klassenbehandlung in einem Steuerelement. Häufig Klassenbehandlung markiert die zugrunde liegende Mouse Klassenereignis als behandelt. Sobald das Ereignis als behandelt markiert ist, werden andere Instanzhandler, die dieses Element angefügt sind, nicht in der Regel ausgelöst. Eine beliebige andere Klasse oder Instanz Handler, die Elemente in der bubbling-Richtung zum Stamm der UI-Struktur zugeordnet sind, werden Regel nicht ausgelöst.

Zu lösen das Problem, das im vorangehenden wichtigen Hinweis beschrieben wird und weiterhin MouseDown Ereignisse für die linke Maustaste in einer abgeleiteten Klasse mit Klassenbehandlung mithilfe einer der folgenden:

  • Fügen Sie Handler für das PreviewMouseDown -Ereignis, das nicht von den Steuerelementen als behandelt markiert ist. Beachten Sie, da es sich um eine Preview-Ereignis handelt, wird die Route am Stamm beginnt und Tunnel an das Steuerelement.

  • Registriert einen Handler für das Steuerelement prozeduralen durch Aufrufen von AddHandler und wählen Sie die Option für die Signatur, die es ermöglicht Ereignishandler an Ereignisse zu überwachen, auch wenn sie bereits in der weitergeleiteten Ereignisdaten als behandelt markiert sind.

Weitergeleitete Ereignisse, die auf die Maus beziehen, vorsichtig zu wie oder wenn Sie diese als behandelt markieren. Die Schwierigkeit, die entsprechenden Optionen zu, ob übergeordnete Elemente auch über ein beliebiges informiert werden sollte Mausaktion wird die WPF Framework ausgewählt haben, das Modell mit den zugrunde liegenden-Ereignis als angegeben werden CLR Ereignisse entlang der Route. Ähnliche Probleme im Zusammenhang mit tunneling Mausereignisse. Sollten Sie das Ereignis behandelt und nicht von untergeordneten Elementen an der Quelle behandelt werden, und wie würde die Zusammensetzung eines Steuerelements, in dem die Bestandteile möglicherweise Mausverhalten erwartet haben, auswirken?

Feld-ID

MouseDownEvent

Routing-Strategie

Bubbling

delegate

MouseButtonEventHandler

Zurück zum Anfang
Anzeigen: