Ответ 1
Я был в одной лодке, как вы, ребята, так как не было никаких образцов там, где это было сделано, но после ознакомления и изучения документации MSDN о том, как жест жестка реализован в приложении Windows 8 Store с помощью С# это то, что я придумал (и он работает для моего приложения, которое требует прокрутки вверх/вниз/влево/вправо):
Прежде всего, вместо GestureRecognizer необходимо использовать события Manipulation, поэтому на сетке, которую вы хотите обработать с помощью swiping (позволяет вам сказать, что вы делаете это так, чтобы он воспринимал весь экран так, чтобы он интерпретировал жесты ) выполните следующие действия:
Я назвал свою сетку swipingSurface, и я обрабатываю режимы манипуляции как по оси Y, так и по оси X:
swipingSurface.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateY;
Затем подключите события манипуляции, о которых вы хотите получить уведомление, в моем случае я просто хочу знать, что началась манипуляция и когда она закончилась:
swipingSurface.ManipulationStarted += OnManipulationStarted;
swipingSurface.ManipulationCompleted += OnManipulationCompleted;
Сделайте все, что захотите, при запуске манипуляции, например, получите начальную точку, если хотите. Но фактический трюк находится в событии ManipulationCompleted, в котором вам нужно получить скорости, связанные с вашим жестом, следующим образом:
public void OnManipulationCompleted(object sender, ManipulationCompletedEventArgs e) {
var velocities = e.Velocities;
}
Свойство ManipulationCompletedEventArgs Velocities вернет структуру типа ManipulationVelocities, которая содержит другие свойства внутри:
- Angular: скорость вращения в градусах на миллисекунду.
-Expansion: расширение или масштабирование скорости в DIP за миллисекунду.
-Linear: скорость прямой линии в DIP за миллисекунду.
Я действительно смотрю на скорость Линейная, которая представляет собой Точка, которая содержит значения X и Y, указывающие направление, в котором был выполнен жест; например, если салфетка была направлена вверх, вы заметите, что значение Y положительно, и если его значение вниз отрицательно; то же самое относится к значению X, если салфетка оставлена, значения X отрицательны, и если салфетка правильная, значения X положительны, поэтому вы можете играть с этими значениями и проверять направление развертки, конечные точки и т.д..
Надеюсь, что это поможет.