UIElement.MouseLeftButtonDown Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt auf, wenn die linke Maustaste gedrückt wird, während sich der Mauszeiger über diesem Element befindet.
public:
virtual event System::Windows::Input::MouseButtonEventHandler ^ MouseLeftButtonDown;
public event System.Windows.Input.MouseButtonEventHandler MouseLeftButtonDown;
member this.MouseLeftButtonDown : System.Windows.Input.MouseButtonEventHandler
Public Custom Event MouseLeftButtonDown As MouseButtonEventHandler
Ereignistyp
Implementiert
Hinweise
Obwohl dieses Routingereignis einer sprudelnden Route durch eine Elementstruktur zu folgen scheint, handelt es sich tatsächlich um ein direktes Routingereignis, das entlang der Elementstruktur von jedem UIElementausgelöst und neu geordnet wird.
Dieses Ereignis ist eines von mehreren verwandten Ereignissen, die die Maustasten-Besonderheiten eines zugrunde liegenden Mouse.MouseDown Ereignisses melden, bei dem es sich um ein angefügtes Ereignis handelt, das von jedem Element entlang einer Ereignisroute verarbeitet wird.
Die Ereignisdaten dieses Ereignisses machen die Ereignisdaten des zugrunde liegenden Mouse.MouseDown Ereignisses verfügbar. Wenn dieses Ereignis als entlang der Ereignisroute als behandelt markiert wird, werden die maustastenspezifischen Ereignisse weiterhin ausgelöst. Jedoch müssen Handler der maustastenspezifischen Ereignisse hinzugefügt werden, indem explizit aufgerufen AddHandlerwird, mit der Option, Ereignisse zu behandeln, die bereits als behandelt markiert sind, um listener für das Ereignis zu sein. Wenn Sie behandelt markieren MouseLeftButtonDown , wird Mouse.MouseDown im Wesentlichen für alle weiteren Listener entlang der Route und für alle zugehörigen Ereignisse markiert. Dies schließt möglicherweise vom Klassenhandler generierte Ereignisse wie MouseDoubleClickein.
Stellen Sie sich dieses Ereignis (und andere Mouse-Button-Ereignisse auf UIElement) konzeptionell als "Dienst" der Maus vor (mit der von der Mouse -Klasse bereitgestellten Dienstdefinition). Das Ereignis fügt den Komfort hinzu, dass die Maustastenzustände (links-rechts, nach oben) der ursprünglichen Mausereignisse in den Ereignisdaten nicht überprüft werden müssen. Für komplexere Szenarien, z. B. die Überprüfung auf Zustände von nicht standardmäßigen Schaltflächen, müssen Sie möglicherweise die APIs für die -Klasse anstelle der MouseUIElementin verwenden.
Wichtig
Einige Steuerelementklassen verfügen möglicherweise über eine inhärente Klassenbehandlung für Maustastenereignisse. Das Nach-unten-Ereignis der linken Maustaste ist das wahrscheinlichste Ereignis, das eine Klassenbehandlung in einem Steuerelement hat. Die Klassenbehandlung markiert häufig das zugrunde liegende Mouse Klassenereignis als behandelt. Nachdem das Ereignis als behandelt markiert wurde, werden andere instance-Handler, die an dieses Element angefügt sind, normalerweise nicht ausgelöst. Alle anderen Klassen- oder instance-Handler, die an Elemente in der Sprudelrichtung zum Stamm in der Ui-Struktur angefügt sind, werden ebenfalls nicht normalerweise ausgelöst.
Sie können das problem beheben, das im vorherigen Wichtig beschrieben ist und weiterhin MouseLeftButtonDown Ereignisse für Ereignisse mit der linken Maustaste nach unten für eine abgeleitete Klasse mit Klassenbehandlung enthält, indem Sie eine der folgenden Lösungen verwenden:
Fügen Sie Handler für das PreviewMouseDown Ereignis an, das nicht als von den Steuerelementen behandelt markiert wird. Beachten Sie, dass die Route, da es sich um ein Vorschauereignis handelt, am Stamm beginnt und bis zum Steuerelement tunnelt.
Registrieren Sie einen Handler für das Steuerelement prozedural, indem Sie die Signaturoption aufrufen AddHandler und auswählen, mit der Handler auf Ereignisse lauschen können, auch wenn sie bereits in den Routingereignisdaten als behandelt markiert sind.
Informationen zum Routingereignis
Bezeichnerfeld | MouseLeftButtonDownEvent |
Routingstrategie | Direkt |
Delegat | MouseButtonEventHandler |
- Überschreiben Sie OnMouseLeftButtonDown , um die Klassenbehandlung für dieses Ereignis in abgeleiteten Klassen zu implementieren.