Я новичок в этом мире WPF. И я немного смущен тем, почему мой прокрутка потребляет мое сенсорное событие.
Моя текущая ситуация такова:
У меня есть этот ScrollViewer с ItemsControl. В этом ItemsControl я использую Wrappanel, чтобы показать несколько прямоугольников. Мой ScrollViewer должен позволять прокручивать по вертикали, чтобы показывать прямоугольники, завернутые вниз. Для каждого из этих прямоугольников я сделал CustomBehaviour со всевозможными обработчиками. Один из этих обработчиков представляет собой «творчески» созданный способ обработки LongPressGesture.
Проблема заключается в следующем: прежде чем мое долгое нажатие будет обнаружено поведением, мой ScrollViewer захватывает мой TouchDevice в своем обработчике PreviewTouchMove.
Как я могу предотвратить слишком ранний захват моим ScrollViewer моего TouchDevice? Как я могу убедиться, что могу прокручивать свой ScrollViewer и выполнять свои LongPress, DoubleClick (который все еще работает), SingleClick (который также работает) и другие жесты, которые я могу добавить к этому пользовательскому поведению?
Я нашел похожие вопросы в stackoverflow и google, которые я просто не понимаю для своего конкретного случая.
Что-то с CustomThumb ‹-- Эта ссылка решает проблему, создав CustomThumb. Могу ли я как-то повторно использовать это для своего поведения? Захватив TouchDevice в моих обработчиках поведения на раннем этапе?
Если все не получится. Есть ли альтернатива этой комбинации ScrollViewer и CustomBehaviour?
РЕДАКТИРОВАТЬ:
В это время. Я повторил метод CustomThumb. Я получил длинное нажатие, чтобы работать теперь из моего CustomBehaviour, в то время как UIElements (с таким поведением) расположены в ScrollViewer. Однако функция прокрутки ScrollViewer по-прежнему не работает. Награда, которую я добавил, также будет присуждена человеку, который поможет мне снова заставить это работать правильно (поскольку ответ должен лежать в том же направлении, что и это решение CustomThumb).