使用 ScatterView、MultitouchVista 和 Surface SDK 时无多点触控
我已按照以下说明在 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。我们构建了一个多点触控表,它获得与鼠标模拟相同的输入。
我在 Youtube 上找到了一个在演示应用程序中使用 MultiTouchVista 的视频:http://www.youtube。 com/watch?v=CHsqS2QnR14 他似乎已经成功了。
编辑2: 看来,SDK 的项目需要 ContactEvents,但 MultitouchVista“仅”为您提供 TouchEvents。因此,如果没有大量的解决方法,它们就无法工作。
I have installed Microsoft Surface SDK 1.0 SP1 on Win7 with 64bit following this instructions:
www.brianpeek.com/blog/archive/2009/05/14/install-the-surface-sdk-sp1-workstation-edition-on-x64.aspx
No problems so far. To test my application I use MultitouchVista (see here: multitouchvista.codeplex.com/) with two mice. (update: I tried with Surface Simulator and it worked, so it might not be a code issue)
If I want to try out the example ScatterPuzzle (is included in SurfaceSDK) only one point is used. So i can not scale or rotate, or even move two objects at the same time.
even this simple example from msdn.microsoft.com/en-us/library/ee957318.aspx does not work:
<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>
Is that some kind of a known bug or am I doing somethingh wrong?
Thanks.
PS: For example in the current approach I use RotateTransform to rotate and ManipulationDelta to calculate the needed rotation degree of my Item.
Edit:
Yes, I tried it with the Surface Simulator, and it works great. The problem is, that I need to use MultiTouchVista. We built a Multitouch-Table that gets the same input as simulated with the mice.
I found a Video on Youtube where MultiTouchVista is used on the Demo Applications: http://www.youtube.com/watch?v=CHsqS2QnR14
He seems to had it working.
Edit2:
It seems, that the items of the SDK need ContactEvents, but MultitouchVista "only" gives you TouchEvents. So they won't work without heavy workarounds.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您正在开发 Surface 应用程序,则不需要多点触控 Vista。这可能是导致问题的原因。您需要在表面模拟器内运行应用程序,该模拟器使用鼠标来模拟表面接触。多只鼠标将在模拟器中独立工作,以实现多点触控交互。
If you're developing a Surface application, you shouldn't need multitouchvista. That might be causing the issue. You need to run the application inside the surface simulator, which uses the mouse to emulate surface contacts. Multiple mice will work independently within the simulator to allow for multitouch interactions.
您尝试过 Surface 工具包吗?它是表面控件的集合。它们在 Windows 应用程序中工作,工具包具有几乎相同的示例应用程序集。
无论如何,您可以尝试使用
如果它有效 - 将控件包装到此项目中。
Have you tried Surface Toolkit? It is a collection of surface controls. They work in Windows Applications and toolkit has almost the same set of sample applications.
Anyway you can try to use
And if it works - wrap controls into this items.