从Windows 8中的桌面应用程序调用WinRT GestureRecognizer

时间:2012-12-21 19:46:20

标签: windows-runtime desktop

GestureRecognizer位于可以从win8中的桌面应用调用的API列表中。 http://msdn.microsoft.com/en-us/library/windows/desktop/hh920511%28v=vs.85%29.aspx

问题是要调用ProcessDownEvent我需要传递一个PointerPoint。而且我只能从CoreWindow对象中获取一个...而且我很困难,因为很明显,不是“Metro”应用程序,CoreWindow.GetForCurrentThread()返回null。

任何提示?

3 个答案:

答案 0 :(得分:1)

桌面上GestureRecognizer的等价物是InteractionContext,您不需要处理DirectManipulation。

没有太多文档,但这里有一个代码示例:http://software.intel.com/en-us/articles/comparing-touch-coding-techniques-windows-8-desktop-touch-sample

答案 1 :(得分:0)

PointerPoint似乎有静态方法来获取某些指针的信息,其中一种方法是:http://msdn.microsoft.com/en-us/library/windows/apps/br242063

答案 2 :(得分:0)

显然这是不可能的,因为结合这个

http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/e65f53b4-cac9-44e3-aa10-cd7955d6a9b3

使用此功能:支持的最低客户端Windows 8 [仅限Windows应用商店应用] http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.input.gesturerecognizer.aspx

太糟糕了,GestureRecognizer与Metro应用程序紧密相关。这基本上只是数学。

选项是遗留API或DirectManipulation,其记录非常严重。 Kinda说这一切都是为了让一切都在'触摸'上投注。