none
WPF 程序 Touch错位的问题,求帮助! RRS feed

  • 问题

  • 重现步骤:
    1.写一个很简单的wpf程序,UI上有一个checkbox,运行起来。
    2.在桌面点击右键菜单--》Screen Resolution --》orientation 更改为 portrait,点击apply,然后Keep changes。试一试touch到 checkbox上面,会不会有效果。
    3.如果仍然可用,重复第二步,把orientation 改为landscape,点击apply,然后Keep changes。反复更改这个属性,在两个值之间切换。

    大约2次以后,会发现touch到checkbox上以后,checkbox不会被选中或者取消选中,也就是失效了。然后寻寻觅觅,发现点击其他位置 可以选中该checkbox,哦,touch错位了。

    求各位大师指教原因,谢谢!

     

     

    2011年4月6日 11:14

答案

  • 用了GetTouchPoint,这个方法是用来获得触摸事件时的触摸点位置的。 不过在这里,建议你在提交问题反馈之前,可以先尝试联系下你的触摸屏的硬件商,因为微软的软件或者框架一般都是能够保证在绝大多数的设备上正常运行的,像这样偶然的事件发生,不排除由于设备本身检测位置出现了偏差,所以为了确保问题的根源,你也可以联系下硬件商。 谢谢


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年4月8日 7:22
    版主

全部回复

  • 这个其实很难去重现, 因为touch的特性本身还和具体的硬件设备相关,我们不一定有你相同的硬件设备。给一点相关的信息。

    还有,从你的描述,你所谓的Touch是多点触摸的touch吗? 还有一般的鼠标点击?

    对于如何去检查是否是WPF的问题造成了错位,我觉得你可以试着在触发选中事件时 输出 Mouse.GetPosition, 或者 对于多点触摸的话 TouchEventArgs.GetTouchPoint 输出他的触摸位置,这个时候你就可以看看是否就是这个触摸位置有了问题。

    还有,我建议这个问题去微软的connect提交一个反馈会比较好,https://connect.microsoft.com/wpf


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年4月7日 11:00
    版主
  • 非常感谢你的回复,我明天提交给微软。

    touch不是多点触摸,只是一般的点击事件。Screen Resolution 修改后,鼠标点击一直都是正常的,touch偶尔出现不正常的现象,错位。

    我专门写了一个很简单的demo来测试这个问题,touch点击的点GetTouchPoint , 打印一个蓝色的点,鼠标点击打印一个红色的点,发现touch打印的点和触摸的位置不同。

     

    2011年4月7日 12:16
  • 用了GetTouchPoint,这个方法是用来获得触摸事件时的触摸点位置的。 不过在这里,建议你在提交问题反馈之前,可以先尝试联系下你的触摸屏的硬件商,因为微软的软件或者框架一般都是能够保证在绝大多数的设备上正常运行的,像这样偶然的事件发生,不排除由于设备本身检测位置出现了偏差,所以为了确保问题的根源,你也可以联系下硬件商。 谢谢


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年4月8日 7:22
    版主