Я использую другой способ обработки жестов, а не способ XNA.вы можете попробовать GestureService.GestureListener
, например, вы хотите обнаружить событие перетаскивания внутри прямоугольника, вы делаете это
<Rectangle x:Name="HelloRect">
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener DragStarted="DragStarted_EventHandler" DragCompleted="DragCompleted_EventHandler" />
</toolkit:GestureService.GestureListener>
</Rectangle>
Тогда в коде позади вы можете иметь обработчики событийжесты
private void DragStarted_EventHandler(object sender, DragStartedGestureEventArgs e)
{
this.HelloRect.Fill = new SolidColorBrush(Colors.White);
}
private void DragCompleted_EventHandler(object sender, DragCompletedGestureEventArgs e)
{
this.HelloRect.Fill = new SolidColorBrush(Colors.Black);
}
Обновление: этот урок хорош: http://windowsphonegeek.com/articles/WP7-GestureService-in-depth--key-concepts-and-API
Возможно, вы захотите проверить некоторые ссылки на то, что вы получите для параметров события: http://www.mindscapehq.com/Help/PhoneElements/html/2f4dc2f0-f612-6a89-092e-f65c243caded.htm и http://www.mindscapehq.com/Help/PhoneElements/html/96092851-e003-6423-389c-58d16281122b.htm
Существует также событие дельта-перетаскивания, которое вы можете посмотреть.Надеюсь, что это поможет в любом случае .. Я не очень знаком с сенсорной панелью .. извините за это .. вы можете подождать еще несколько ответов
От начала и конца перетаскивания координаты васможно определить направление перетаскивания
.. Я думаю, что вы смотрите на событие flick. Еще один хороший учебник
http://johnhforrest.com/2010/09/windows-phone-7-gestures/
Обновление СНОВА: FlickGestureEventArgs содержитСвойство direction типа System.Windows.Controls.Orientation
http://msdn.microsoft.com/en-us/library/system.windows.controls.orientation.aspx
оттуда вы можете определить направление щелчка
private void Flick_EventHandler(object sender, FlickGestureEventArgs e)
{
if (e.Direction == Orientation.Horizontal)
{
if (e.HorizontalVelocity < 0)
{
//Right flick
}
else
{
//Left flick
}
}
else
{
if (e.VerticalVelocity < 0)
{
//Up flick
}
else
{
//Down flick
}
}
}
Удачи и спокойной ночи ..
Обновление:
Я только что видел, что вы не должны использовать регистры переключателей для перечисления GestureType ... это целочисленные типы
, список типов жестов см. В
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.input.touch.gesturetype.aspx