C# WPF-是否可以(以编程方式)禁用多点触摸?

C# WPF-是否可以(以编程方式)禁用多点触摸?,c#,.net,wpf,multi-touch,C#,.net,Wpf,Multi Touch,我对带(多)触摸屏的平板电脑的WPF应用程序/演示有问题。演示文稿的一张“幻灯片”由背景画布和一个小用户控件组成。这个UserControl在开始时是不可见的,但是每当用户触摸屏幕时,它就会变为可见的,如果用户移动他的手指,控件就会相应地移动(“跟随”手指,就像光标一样)。然后,当用户停止触摸屏幕时,控件再次不可见 使用触地、触地和触地移动事件处理程序并不是很难做到这一点,如果用户只用一个手指触摸屏幕,效果会很好。但是,当用户将一个手指放在位置X(例如画布坐标[100100])上,另一个手指放在

我对带(多)触摸屏的平板电脑的WPF应用程序/演示有问题。演示文稿的一张“幻灯片”由背景画布和一个小用户控件组成。这个UserControl在开始时是不可见的,但是每当用户触摸屏幕时,它就会变为可见的,如果用户移动他的手指,控件就会相应地移动(“跟随”手指,就像光标一样)。然后,当用户停止触摸屏幕时,控件再次不可见

使用触地、触地和触地移动事件处理程序并不是很难做到这一点,如果用户只用一个手指触摸屏幕,效果会很好。但是,当用户将一个手指放在位置X(例如画布坐标[100100])上,另一个手指放在位置Y(例如[500100])上时,UserControl开始在位置X和Y之间跳跃,这看起来不太好

现在我希望屏幕一次只对一次触摸做出反应,我可以在操作系统(Windows 7)中使用控制面板->笔和触摸->取消选中“启用多点触摸手势和墨迹”项进行触摸

这很好,正如我所希望的,不幸的是它不是很方便,因为有时我需要使用multi-touch,我不能每次决定使用应用程序时都更改它


这就是为什么我想问一下,在我需要的应用程序中(或仅在WPF UserControl中),是否有任何方法可以禁用multi-touch Programmaticali。非常感谢您的帮助。

< P>您可以将C++代码从以下问题转换为C:
CodeProject文章“具有Win32 GlobalAddAtom()函数的C#实现,PInvoke.net具有的参考页。

您可以使用布尔值,例如
IsCurrentTouched
,如果用户触摸并显示控件,则将其设置为
true
,并在松开触摸时将其设置为false


IsCurrentTouched
true
时,不要对其他触摸做出反应。因此,您只能在需要时使用多点触摸;-)

看看这个酒店。您可以从传递给触摸事件的事件参数中获得此信息,它将允许您唯一地识别触摸事件,这样您就不会将第一次触摸与后续平行触摸混淆。

+1解决此问题的最佳方法是适应多触摸功能并处理由此产生的复杂性(仅使用第一次触摸作为输入时需要过滤掉其他触摸。)感谢您的回答,如果我只需要隐藏/显示控件,这将起作用…但我还必须更新其在TouchMove事件处理程序中的位置…因此,即使显示控件,我也必须对触摸做出反应。。。