Ich verwende eine WPF-ListView mit einer immer sichtbaren vertikalen Bildlaufleiste. Ich habe einen MouseLeftButtonUp Event-Handler auf der ListView. Der Handler funktioniert ordnungsgemäß, außer wenn die vertikale Bildlaufleiste angeklickt wird, wenn es nichts zu tun hat, d. H. Die ListView-Box hat nicht genug Elemente, um Scrollen zu machen.
In diesem Fall sollte nichts passieren, da der Benutzer auf die vertikale Bildlaufleiste geklickt hat, nur um sicherzustellen, dass sich gerade keine Objekte auf dem Bildschirm befinden. Die ListView löst jedoch das MouseLeftButtonUp-Ereignis aus. Wenn die vertikale Bildlaufleiste etwas Arbeit zu tun hat, wird das Ereignis nicht ausgelöst.
Hier ist mein simplifiewd XAML
%Vor%Gibt es trotzdem ein Ereignis, das verhindert, dass das MouseLeftButtonUp-Ereignis ausgelöst wird, wenn auf die vertikale Bildlaufleiste geklickt wird, unabhängig davon, ob die Bildlaufleiste etwas zu tun hat oder nicht?
Dies ist ähnlich wie diese Frage , und die Antwort ist die gleiche. Überprüfen Sie in Ihrem MouseLeftButtonUp
-Handler die MouseButtonEventArgs.OriginalSource
-Eigenschaft. Dadurch erfahren Sie, woher der Klick stammt.
Keine der anderen Antworten funktionierte in meinem Fall wegen des komplexen Stylings in ListBoxItem
. Dies hat jedoch: