众所周知(当然是对WP7喜爱的人),WP 7 支持多点触摸功能,那么我们怎么来实现触摸功能呢?
实现多点WP7的基本触摸并不是非常困难,主要需要对如下几个事件进行监听
ManipulationStarted, ManipulationDelta 和 ManipulationCompleted,这几个事件可以分别对触点开始触摸,移动,停止,做出相应的操作,但是对于一个刚刚接触开发的人,对这几个事件的处理可能还是有一定困难的,因此我在这里向大家推荐网上的一个开源项目Silverlight 4, WPF 4 and Windows Phone 7 Multi-Touch Manipulation,该项目可以到http://multitouch.codeplex.com/ 处下载。
从该网站下载后可以得到一个名为MultiTouchBehaviors.Setup.msi的安装包,安装后打开安装目录,可以得到看到一些动态库,其中最主要的就是WP7 目录下的MultiTouch.Behaviors.WP7.dll / System.Windows.Interactivity.dll,接下来的实例我们也会用到这两个库。具体怎么用呢?
首先新建一个基于SliverLight的WP7应用程序,这个没什么可说的,取名MultiTouch。
添加上述两个动态库的引用,如图:
接下来在程序的主页面MainPage.xaml添加两个命名空间的引用:
xmlns:wi="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
在程序中增加一个图片,并在图片标签中添加其行为代码如下:
<wi:Interaction.Behaviors>
<wp7tb:MultiTouchBehavior
AreFingersVisible="True"
IsDebugModeActive="True"
IsMockActive="True"
IsRotateEnabled="True"
IsScaleEnabled="True"
IsTranslateXEnabled="True"
IsTranslateYEnabled="True"
MaximumScale="100"
MinimumScale="0.5"/>
</wi:Interaction.Behaviors>
</Image>