我按照以下说明在Win7上使用64位安装了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来计算我的物品所需的旋转度。
修改 的 是的,我尝试使用Surface Simulator,效果很好。问题是,我需要使用MultiTouchVista。我们构建了一个多点触控表,它可以获得与鼠标模拟相同的输入。
我在Youtube上找到了一个视频,其中演示应用程序使用了MultiTouchVista:http://www.youtube.com/watch?v=CHsqS2QnR14 他似乎有工作。
的 EDIT2: 的 似乎SDK的项目需要ContactEvents,但MultitouchVista“only”为您提供TouchEvents。因此,如果没有繁重的解决方法,它们将无法运行。
答案 0 :(得分:2)
如果您正在开发Surface应用程序,则不需要multitouchvista。这可能导致了这个问题。您需要在表面模拟器中运行应用程序,该模拟器使用鼠标模拟表面接触。多个鼠标将在模拟器中独立工作,以实现多点触控交互。
答案 1 :(得分:1)
您是否尝试过Surface Toolkit?它是表面控制的集合。它们在Windows应用程序中工作,而工具包具有几乎相同的示例应用程序集。
无论如何你可以尝试使用
<s:ScatterView>
<s:ScatterViewItem Width="500" Height="500" />
</s:ScatterView>
如果它有效 - 将控件包装到这些项目中。