Windows 7计算器打破WPF多点触控?

时间:2014-09-17 17:33:51

标签: c# wpf touch multi-touch touchscreen

我目前正在处理一个C#和WPF HMI的奇怪问题。 HMI是一个相当复杂的程序,允许用户在工作区中添加和删除模块,拖动它们并调整它们的大小以使它们可以自定义的页面。它运行良好,经过优化后实际运行顺畅,并且可以通过触摸和动画实现精彩。特别是一个手势非常有用,因为您可以(使用多点触控)将两根手指放在屏幕上并向左或向右滑动以更改页面。

但是,我最近收到了来自我们的应用部门的投诉,触摸将随机停止工作以进行任何类型的复杂运动,读作任何类型的多点触控。我花了几个小时追踪问题是什么,事实证明,奇怪的是,它可以链接到Windows Calculator。每当打开计算器并随后关闭计算器时,多点触控就会停止运行,并且代码中的任何断点都只显示正在使用的单个触摸。我上网了,发现了一些证实这个问题的文章,但除了不允许计算器工作之外什么都没有暗示修复,这很遗憾,因为这个HMI适用于制造工程师精密零件,它们有点附在计算器上。

我把问题解决了它的基础知识,我在其中制作了一个简单的c#和WPF触摸应用程序,它跟踪了它获得了多少触摸,只是为了确保它不仅仅是人机界面中的伪劣编程。得到相同的结果后,无论我尝试了什么,我都来到这里,希望其他人遇到并解决这个问题。

以下是一些规格:

  • 此HMI在Windows 7上运行,并且已完全更新。
  • 这是一个使用Unity容器,Prism和WPF的C#程序
  • 通过简单的OnPreviewTouchDown处理触摸 TouchDown活动
  • 如果我通过C#中的Process运行计算器,或者如果我们从实际操作系统运行计算器,以及我们如何关闭程序,那么无关紧要,所有排列都会对建筑物中的每台机器产生相同的影响触摸屏。
  • 这是一款带有最新驱动程序的ELO触摸屏,虽然我也尝试过使用Vista Multitouch模拟器并获得相同的结果

非常感谢任何形式的协助或指导。谢谢!

1 个答案:

答案 0 :(得分:0)

你是对的。微软最近针对Windows 8和其他操作系统发布了针对此问题的修复程序,也许它也适用于Windows 7。

Multi-touch gesture does not work after you exit the Calculator in Windows

  

<强>症状

     

在您之前启动的应用程序中会出现此问题   关闭Windows 8.1,Windows RT中的Windows计算器(calc.exe)   8.1或Windows Server 2012 R2。

     

原因

     

出现此问题是因为计算器退出并更改了   属性。这会导致受影响的应用程序停止响应   多点触摸。

     

解决

     

我们已发布更新以解决此问题。   见https://support.microsoft.com/en-us/kb/3024755

     

解决方法

     

要解决此问题,请在计算器退出后关闭并重新打开受影响的应用程序。