通过Windows Phone 8中的GestureService实现Flick Gesture

时间:2013-06-17 13:40:44

标签: c# windows-phone

我正在使用Windows Phone 8应用。此应用程序将允许用户轻弹面板。我希望这与锁屏的工作方式非常相似。当用户“轻弹”面板时,我希望它自动向上移动。有谁知道如何做到这一点?目前,我有以下内容:

<Grid x:Name="myGrid" Background="Peru" VerticalAlignment="Stretch">
  <toolkit:GestureService.GestureListener>
    <toolkit:GestureListener x:Name="myGridGestureListener" DragStarted="myGridGestureListener_DragStarted" DragDelta="myGridGestureListener_DragDelta" DragCompleted="myGridGestureListener_DragCompleted" Flick="myGridGestureListener_Flick" />
    </toolkit:GestureService.GestureListener>

    <Grid.RenderTransform>
      <TranslateTransform x:Name="bannerGridTransform" Y="5000" />
    </Grid.RenderTransform>
</Grid>

private void myGridGestureListener_Flick(object sender, FlickGestureEventArgs e)
{
  if (e.Direction == System.Windows.Controls.Orientation.Vertical)
  {
  }
}

对于我的生活,我无法弄清楚如何让myGrid相应地对轻弹手势做出平滑的反应。我想有人已经实现了这个,但显然,我错了。

谢谢!

4 个答案:

答案 0 :(得分:1)

Windows Phone 8中不推荐使用Gesture Listener。下载最新的工具包源代码时。它包含一个用于窗口电话8的示例工具包应用程序。当您单击手势时,它会抛出一个说明

的对话框
  

GestureListener现在在windows phone 8中已经过时了   在操纵和手势事件中现在具有与它功能相同的功能。   此示例和示例代码演示了如何使用   操纵和手势事件用于之前的目的   会使用GestureListener

答案 1 :(得分:1)

如果有人需要在Windows Phone 8中实现手势 - 请查看此https://github.com/PedroLamas/WPtoolkit/blob/master/PhoneToolkitSample8/Samples/GestureSample.xaml.cs

答案 2 :(得分:0)

不幸的是,这并不像SO上的几行代码那么简单,因为当你按住屏幕时必须考虑到平底锅,当用户抬起时需要从平底锅无缝继续的轻弹他们的手指。一个很好的例子实际上就是飞镖游戏,因为你想要在你拖动时飞镖移动然后在释放时飞起来(轻弹)。

您可以在http://windowsphone7developerguide.blograby.com/darts-gesture-listener-flick-gesture/

找到一个很好的源代码示例

答案 3 :(得分:0)

您不再需要使用工具包手势监听器。您可以在构建的操作事件中使用。以下是样本: - http://phone.codeplex.com/SourceControl/latest#PhoneToolkitSample8/Samples/GestureSample.xaml.cs