2014-10-03 2 views
0

У меня есть WPF-программа с сеткой с двумя столбцами. Первый имеет кнопки, а второй имеет WindowsFormsHost -элемент, который включает компонент ActiveX. Одна кнопка скрывает элемент WindowsFormsHost и показывает SurfaceListBox в том же месте на экране во втором столбце. Если я коснулся элемента WindowsFormsHost непосредственно перед нажатием этой кнопки, он занимает приблизительно 8 секунд от последнего касания до тех пор, пока SurfaceListBox не станет ответственным за жесты касания.SurfaceListBox не реагирует на жесты касания в течение нескольких секунд

Поток, вероятно, не заблокирован, потому что я могу использовать кнопки в другом столбце и использовать с помощью мыши ListBox.

ListBox по-прежнему не отвечает за события касания навсегда, если я коснусь его в течение 8 секунд ожидания. Так что кажется, что ListBox не получает события касания.

Если я программно создаю еще один ListBox, он также не работает, в течение 8 секунд, если он размещен на том же экране, что и WindowsFormsHost.

Я заметил, что есть метод для UIElement, но я не могу ухватиться за TouchDevice, чтобы передать его в качестве параметра. Я установил ManipulationEnabled="true" за каждые UIElement и не будет TouchEvent.

Я также отчаянно использовал UpdateLayout() и т.д. не повезло.

Таким образом, я думаю, что жесты касания каким-то образом не пройдены, и после времени ожидания он неявно исправляет маршрутизацию, но есть ли способ, которым я мог бы заставить жесты касания работать в ListBox сразу?

+1

Приветствую вас, пожалуйста, прочитайте [это руководство] (http://stackoverflow.com/help/how-to-ask)? Включите соответствующий код, xaml и информацию, и это лучшие шансы получить хорошие ответы и upvotes :) –

ответ

0

Проблема исчезла, когда я удалил «отслеживание фокуса для запуска экранной клавиатуры» из моей программы.

Так что, если кто-то другой борется с той же проблемой, http://www.infragistics.com/community/blogs/blagunas/archive/2013/12/17/showing-the-windows-8-touch-keyboard-in-wpf.aspx и SurfaceListBoxes не предназначены для друг друга.