2011-03-31 48 views
4

我一直在网上搜寻如何使用MVVM Light在ViewModel中处理Windows Phone 7上的轻弹手势的示例。在ViewModel中处理手势

我发现一些很好的资源来处理按钮点击等命令,但我似乎无法找到关于如何处理手势的任何事情。任何人都知道这是可能的吗?如果是这样,是否有任何好的资源,或者你能提供一个快速的例子来说明如何做到这一点?

如果不是,我想我只好分解代码并放在代码隐藏中。呃,让我生病想到它。 ;)

+0

取决于手势?你有什么想法? – 2011-03-31 19:06:32

回答

0

如何使控件集想要将手势应用到用户控件?

甚至环绕手势听众的用户控件,然后使用表面依赖属性的属性,所以你可以绑定到他们

3

您可以从Wp7Tools使用GestureListenerEx。

添加Wp7Tools到您的项目:

PM> install-package wp7tools 

在您的XAML:

<Rectangle Fill="Red" Width="100" Height="100"> 
    <toolkit:GestureService.GestureListener> 
     <wp7:GestureListenerEx 
      OnTapAction="Tap" 
      OnDragStartedAction="DragStart" 
      OnDragCompletedAction="DragEnd" 
      /> 
    </toolkit:GestureService.GestureListener> 
</Rectangle> 

而在你的ViewModel:

public void Tap(GestureEventArgs e) { 
    //Do something 
} 

public void DragStart(DragStartedGestureEventArgs e) { 
    Debug.WriteLine(e.Direction); 
} 

public void DragEnd(DragCompletedGestureEventArgs e) { 
    Debug.WriteLine(e.Direction);   
} 

就是这样。没有代码隐藏,没有命令,只是指出你想要执行的方法:)