Обработчик одного клика на странице Silverlight - PullRequest
1 голос
/ 17 февраля 2009

Есть ли способ перехватить MouseLeftButtonDown (или другое событие мыши) на странице или уровне пользовательского элемента управления и затем определить, какой дочерний элемент управления был фактически нажат?

1 Ответ

2 голосов
/ 17 февраля 2009

Да. Настройте свой обработчик на странице или в другом корне пользовательского интерфейса, а затем используйте следующий метод, чтобы определить, что было нажато в этом обработчике.

List<UIElement> hits = System.Windows.Media.VisualTreeHelper.FindElementsInHostCoordinates(args.GetPosition(null), startFromControl);

Обратите внимание, что существуют некоторые требования к элементам управления, которые будут "поражены". Одна общая причина не имеет определенного фона. Элементы управления также могут отключить тестирование попаданий с помощью свойства UIElement.IsHitTestVisible.

...