2009-02-17 3 views

ответ

2

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

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

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

+0

Спасибо, это то, что мне нужно. –

+0

Есть проблема. Например, некоторые элементы управления, например кнопки, перехватывают щелчок перед обработчиком уровня страницы, который помещает гаечный ключ в работу. Похоже, мне все равно придется обрабатывать клики на этих элементах управления. Я надеялся иметь только одного обработчика на странице. –

+0

Да, события щелчков пузыряют дерево. Вы должны использовать иерархию управления, которая учитывала бы эту функцию. –

Смежные вопросы