Для базового сценария, описанного в обзоре msdn (в разделе Touch and Manipulation) TouchEnter и TouchLeave запускаются для каждого соответствующего TouchDown и TouchUp соответственно. В отличие от мыши, сенсорный экран и стилус не ограничены в поддержании контакта с экраном.
Есть ли способ использовать TouchEnter и TouchLeave для захвата, только когда палец перетаскивается в UIElement. Поскольку эти события запускаются для каждого TouchUp и TouchDown, как лучше всего различать эти события?
Одна стратегия, которая будет работать для случая с одним пальцем, - установить флаг на TouchDown и проверить, установлен ли флаг на TouchUp. Это позволяет выполнять некоторые проверки условий в TouchUp. Однако для нескольких пальцев это невозможно.
Не запускаются события PreviewTouchEnter и PreviewTouchLeave, только PreviewTouchDown и PreviewTouchUp. Последовательность событий для пальца, опущенного на UIElement, а затем поднятого над ним, выглядит следующим образом:
Эта последовательность не помогает отличить TouchEnter, который произошел из-за перетаскивания пальца по экрану в UIElement, от пальца, опущенного непосредственно на UIElement.Я что-то упустил, или фреймворк сам по себе не поддерживает такую дифференциацию?