2013-03-17 3 views
0

У меня есть меню, которое реализовано таким образом, что при нажатии пункта меню открыто всплывающее окно, содержащее его подпозиции.
При работе с сенсорным экраном иногда пользователь прикасается к двум пунктам меню одновременно пальцами - и это приводит к тому, что один из элементов меню имеет захват касания, который не выводится, пока другое окно не станет фокусом, что заставляет приложение застревать.Меню WPF и мультитач

Как я могу предотвратить такой случай?

благодарит

ответ

0

Я нашел причину проблемы: всплывающее окно, используемое для отображения элементов подменю, имело значение StaysOpen равным false.
Это приводит к тому, что Popup захватывает входные данные, чтобы он мог знать, когда закрыть его, как только щелчок был сделан за пределами его границ. При установке свойства StaysOpen значение True устраняет проблему.

0

Вы можете использовать очереди, которая содержит делегатов:

При срабатывании команды, добавьте делегат в очереди. Затем возьмите первый делегат очереди и промойте его потом. Теперь у вас только 1 команда.

+0

спасибо, но это не проблема. проблема в том, что оба пункта меню получают захват касания, но только один из них освобождает его, поскольку обрабатывается только один из кликов элементов меню. Мне нужно, чтобы меню не позволяло двум элементам подменю получать захват касания одновременно ... – Oren