我按照以下说明在 64 位 Win7 上安装了 Microsoft Surface SDK 1.0 SP1:www.brianpeek.com/blog/archive/2009/05/14/install-the-surface-sdk-sp1-workstation-edition-on-x64。 aspx
到目前为止没有问题。为了测试我的应用程序,我使用 MultitouchVista(参见此处:multitouchvista.codeplex.com/)和两只鼠标。(更新:我尝试使用 Surface Simulator 并且它有效,所以它可能不是代码问题)
如果我想尝试示例 ScatterPuzzle(包含在 SurfaceSDK 中),则只使用一个点。所以我不能缩放或旋转,甚至不能同时移动两个对象。
即使来自 msdn.microsoft.com/en-us/library/ee957318.aspx 的这个简单示例也不起作用:
<s:SurfaceWindow
x:Class="ScatterViewOverview.SurfaceWindow1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="http://schemas.microsoft.com/surface/2008"
Title="ScatterViewOverview">
<s:ScatterView>
<Image Source="Resources/Desert.jpg"/>
</s:ScatterView>
</s:SurfaceWindow>
这是某种已知的错误还是我做错了什么?
谢谢。
PS:例如在当前方法中,我使用 RotateTransform 来旋转和 ManipulationDelta 来计算我的 Item 所需的旋转度数。
编辑: 是的,我用 Surface Simulator 试了一下,效果很好。问题是,我需要使用 MultiTouchVista。我们构建了一个 Multitouch-Table,它获得与鼠标模拟相同的输入。
我在 Youtube 上找到了一段视频,其中 MultiTouchVista 用于演示应用程序:http ://www.youtube.com/watch?v=CHsqS2QnR14 他似乎可以正常工作。
Edit2: SDK 的项目似乎需要 ContactEvents,但 MultitouchVista “仅”为您提供 TouchEvents。因此,如果没有大量的变通方法,它们将无法工作。