WP7 Тумблер в элементе управления Pivot?

Есть ли способ контролировать порог действия flick, чтобы включить / выключить тумблер, чтобы он не мешал навигации по элементу управления pivot?

5 ответов

Извините, но я собираюсь избежать вашего вопроса (я все равно не могу ответить на него) и предложить вам использовать другой подход.
Вы можете (я полагаю) использовать флажок, чтобы так же легко предоставить возможность человеку, использующему приложение. После того, как тумблер имеет ту же функциональность, что и флажок (указать / выбрать между двумя состояниями), он просто реализует взаимодействие по-разному.

Тумблер не был разработан / построен (AFAIK) для поддержки использования поверх чего-то, что также поддерживает тот же жест.
Как общее правило удобства использования, наличие элементов управления друг над другом (или даже рядом друг с другом), которые поддерживают один и тот же жест, может вызвать проблемы для пользователя. Даже если проблемы вызваны случайным срабатыванием неправильного жеста или ожиданиями того, как их жест будет интерпретирован.

В итоге: это действительно сложная проблема для решения; Я не думаю, что вы можете с элементами управления, как они; и проблема полностью исчезнет, ​​если вы все равно используете другой элемент управления для переключения.

У меня была та же самая проблема с моим товарищем по команде, мы копали это много часов, и мы наконец достигли вершины холма, и мы нашли решение. Это решение работает для управления картой Bing:

по мышке введите: myMapControl.CaptureMouse(); при отпускании мыши: myMapControl.ReleaseMouseCapture();

И вот, пожалуйста, когда вы будете перемещаться по карте, пивот не будет выполнять переход;) Если вы не понимаете, просто нажмите на меня, и я собираюсь объяснить с реальным кодом (я довольно занят прямо сейчас).

ура

Это решение, опубликованное недавно, похоже, помогает людям справиться с конфликтами жестов на панорамировании / развороте. Вы можете проверить это.

Предотвращение прокрутки элементов управления Pivot или Panorama

Решение этой проблемы простое и основано на моем опыте разработки приложений для Android и iPhone.

просто убедитесь, что вы просто подключаетесь к событию OnMouseLeave, а не к OnChecked или OnMouseClick, так как они будут случайно срабатывать при касании переключателя.

Вы хотите убедиться, что они касались его, когда отпустили экран, и это (если вы не положите переключатель на край экрана, это почти никогда не будет иметь место

Установите IsHitTestVisible = false в корневой элемент управления

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