WPF TouchUp Event Странное поведение

Мое приложение WPF прекрасно работает, но только при использовании мыши. Проблемы начинаются при использовании его на устройстве с сенсорным экраном.

У меня есть сетка, которая обрабатывает события MouseLeftButtonUp и TouchUp.

Теперь я нажимаю на сетку, она обрабатывает связанные события, затем я нажимаю на какой-то другой элемент управления, чтобы другой элемент управления перехватывал событие TouchUp, как и ожидалось, затем событие TouchUp преобразуется в событие MouseLeftButtonUp, что также является чем-то ожидаемым.

Однако вновь запущенное событие MouseLeftButtonUp вызывается НЕ для элемента управления, на котором я нажал, а для вышеупомянутой сетки! Почему так себя ведет?

Заранее спасибо...

1 ответ

Решение

Это нормальное поведение для всех RoutedEvents. От UIElement.MouseLeftButtonUpСтраница события на MSDN:

Хотя это перенаправленное событие, по-видимому, следует по пузырчатому маршруту через дерево элементов, на самом деле это событие с прямой переадресацией, которое вызывается и повторно поднимается вдоль дерева элементов каждым UIElement.

MSDN предоставляет гораздо больше ответов и намного быстрее, чем переполнение стека.

Другие вопросы по тегам