2

我正在为 Windows 8 桌面模式开发 ac# touch 应用程序,但我找不到最佳方法。我的问题是:我应该使用现有的 Windows 7 Touch API c# 还是有一个新的多点触控 c# API 可用于开发 Windows 8 桌面应用程序?

我知道 Windows 8 对 win7 touch api 有传统支持,如果仍然是最好且唯一的方法,则只需要一些见解和反馈。

有没有人有过这个问题的经验?

编辑:我发现这篇文章: http: //software.intel.com/en-us/articles/touch-gestures,基本上 UIElement 公开了启用触摸操作的方法。也许这是要走的路。有什么想法吗?

谢谢你。

4

3 回答 3

2

Windows 8 API 有一个基于 WM_POINTER 消息的新 API,请参阅http://msdn.microsoft.com/en-us/library/hh454916(v=vs.85).aspx

Windows 7 API 有一些缺点,请参阅http://the-witness.net/news/2012/10/wm_touch-is-totally-bananas/

于 2013-02-16T20:12:54.920 回答
0

WM_TOUCHxxx 消息不容易出现这个问题:

http://social.msdn.microsoft.com/Forums/en-US/ce6d630a-b345-46ac-88ef-773704986d62/touch-responsiveness-issue-how-to-resolve-jagged-nonsmooth-lines?forum=winappswithcsharp

WM_TOUCHxxx 和 WM_POINTERxxx 消息都会出现这个问题:

https://web.archive.org/web/20150709083602/https://connect.microsoft.com/VisualStudio/feedback/details/903760/wpf-touch-services-are-badly-broken

如果您的 c# 桌面应用程序正在使用 WPF,那么您唯一可行的选择是实现自己的 TOUCHDEVICE 来修复这些潜在问题,因为 Microsoft 似乎已决定 WPF 触摸不再重要。

于 2014-07-28T16:53:58.387 回答
0

这取决于您在应用程序中的实际需求。

如果您只想要新的快速方法来旋转和缩放对象,那么WPF Manipulation API可能就是您所需要的。

但是,如果您需要在 GUI 上独立或以自定义方式处理多个手指,您只需处理通常的OnTouchDownOnTouchMove和其他事件。

Please note that, however, multi-touch is only available from inside a single window. In other words: you can multi-touch two objects on the same window, but you won't be able to multi-touch two objects that reside on different windows. If you want multi-touch, multi-window funcionality, you need to:

于 2020-07-08T15:10:42.093 回答