Я разрабатываю приложение WPF для использования в точке продажи с сенсорным экраном. У меня есть элемент ItemsControl с кнопками продуктов внутри ScrollViewer. Пользователь может прокручивать (панорамировать) через продукты, перетаскивая их пальцем. Чтобы добавить продукт в корзину, пользователь просто касается кнопки продукта. Все идет нормально.Прокрутка прокрутки WPF ScrollViewer
Однако, поскольку поверхность сенсорного экрана довольно гладкая и полированная, пальчик пользователя иногда скользит маленьким битом при попытке нажимать кнопку. В этом случае кнопка не регистрируется. Вместо этого ScrollViewer прокручивает эту маленькую часть движения.
Теперь, мой вопрос: есть ли способ уменьшить чувствительность ScrollViewer, так что потребуется более длительное перетаскивание, чтобы инициировать прокрутку и подавление события click.
Благодарим за любые советы!
С наилучшими пожеланиями,
Chris
Я решил это с помощью свойства e.CumulativeManipulation.Translation.Length> 35. В этом случае длина - это дельта между началом и текущей позицией пальца. –
Я, наконец, решил попробовать это решение. Это намного проще, чем другое, и работает так, как ожидалось. Благодаря! – Christophe
Возможно, стоит отметить, что вы должны обернуть свой Translation.Y в Math.Abs, чтобы вы могли измерять его вверх или вниз: if (Math.Abs (e.CumulativeManipulation.Translation.Y)> 35) – nixkuroi