1

我按照以下说明在 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。因此,如果没有大量的变通方法,它们将无法工作。

4

2 回答 2

2

如果您正在开发 Surface 应用程序,则不需要 multitouchvista。这可能是导致问题的原因。您需要在表面模拟器中运行应用程序,该模拟器使用鼠标来模拟表面接触。多个鼠标将在模拟器中独立工作,以实现多点触控交互。

于 2010-12-03T00:36:00.760 回答
1

你试过 Surface Toolkit 吗?它是表面控件的集合。它们在 Windows 应用程序和工具包中工作的示例应用程序集几乎相同。

无论如何你可以尝试使用

<s:ScatterView>
    <s:ScatterViewItem Width="500" Height="500" />
</s:ScatterView>

如果它有效 - 将控件包装到这些项目中。

于 2010-12-02T23:12:31.993 回答