【问题标题】:Information on developing WPF touch-screen application for Windows XP有关为 Windows XP 开发 WPF 触摸屏应用程序的信息
【发布时间】:2011-01-14 12:38:26
【问题描述】:

我目前正在从事 WPF 项目,该项目涉及为 Windows XP 嵌入式创建触摸屏应用程序。由于 Windows XP 不是为触摸交互而构建的,因此在开发这些应用程序时会遇到一些问题。

一个例子是点击: 在 Windows XP 上点击是鼠标按下和鼠标向上的事件,但是如果你用手指而不是鼠标,你可能会得到一个拖动动作单击时,当您按下鼠标时,您的手指可能会从初始位置稍微向一侧移动,您将获得拖动而不是单击。这只是您在为 Windows XP 开发触摸屏应用程序时遇到的问题的一个示例。

如果有人一直在为 Windows XP 开发 WPF 触摸屏应用程序,您能否分享一些知识并指出您遇到的陷阱,或者如果您知道有关此主题的任何资源,请您分享一下。

【问题讨论】:

    标签: wpf touchscreen windows-embedded


    【解决方案1】:

    我同意@bflosabre91。使用鼠标,您可能会遇到同样的问题,事实上,当有人学习使用鼠标时,这种情况经常发生。我认为这个问题在硬件层面和触摸屏如何实际解释用户正在做的事情更相关。

    在软件方面,您可以添加一些类似于以下内容的逻辑:

    1. 鼠标按下时:记录坐标以及指针下方的控件(按钮等)
    2. 鼠标抬起时:将记录的坐标与当前坐标进行比较。如果它在 x 像素内,请执行“control.click”或将鼠标移动到旧坐标并告诉鼠标单击。

    硬件可能已经在做这样的事情了……

    【讨论】:

    • 目前我正在做你上面所说的,但我找不到其他解决方案,可以检查点击是否在阈值内并在没有我的情况下引发点击或鼠标移动事件为所有类编写此代码,或者扩展一个类。
    【解决方案2】:

    我有一个 WPF 触摸屏应用程序,它在带有 XP 的信息亭上运行(尽管它不像你说的那样嵌入 XP)。我对任何类型的点击事件或类似事件都没有任何问题。我使用所有正常的鼠标单击事件对其进行了编程,因此它在技术上确实可以使用鼠标或触摸屏。只要您将控件构建得足够大,以考虑到手指将触摸它而不是鼠标指针这一事实,我就没有遇到任何问题。

    【讨论】:

    • 如果它是一个简单的控件,它工作得很好,但是我们有一堆触摸式控件(例如,没有滚动条的滚动查看器,缩放,捏合等),这就是你开始的地方遇到一些问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多