Вы можете обнаружить щелчки мыши с помощью событий MouseLeftButtonDown
или MouseLeftButtonUp
(или эквивалентных событий RightButton).
Это всплывающие события, которые означают, что они не обрабатываются, но фактический элемент нажалсобытие будет запускаться на содержащем элементе и т. д. до корневого элемента.
Следовательно, для многих простых элементов вы можете добавить обработчик к содержащему элементу и использовать свойство OriginalSource
MouseButtonEventArgs
дляопределить, какой элемент на самом деле сгенерировал сообщение.
Однако вы используете слово «Управление», которое некоторые используют свободно для обозначения элементов пользовательского интерфейса, другие используют более строго для обозначения таких вещей, как ListBox
.В последнем случае эти элементы управления могут обрабатывать события мыши, поэтому они больше не всплывают.
Вы все еще можете получить события LeftButton, используя AddHandler
для содержащего UIElement, даже те, которые были обработаны.Это все еще оставило бы вас с проблемой обнаружения фактического элемента управления, в котором вы заинтересованы, поскольку OriginalSource
будет неким компонентом элемента управления и, следовательно, потомком элемента управления.