首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >触摸事件不会触发C# WPF

触摸事件不会触发C# WPF
EN

Stack Overflow用户
提问于 2012-06-21 21:40:08
回答 3查看 4.2K关注 0票数 4

我已经创建了一个订阅WPF的触摸事件的程序。在过去的几个月里,一切都像预期的那样工作,但昨天没有一个触摸事件被触发。我试着创建一个新的,简单的程序来测试触摸事件,但它的工作原理是一样的,所有的触摸输入都会作为鼠标事件发送,即使光标从鼠标箭头变成了触摸十字光标。

我重新启动了电脑几次,并重新安装了驱动程序,但似乎没有任何改变。我试过使用不同品牌的触摸屏和不同的驱动器,以前也可以使用,现在也遇到了完全相同的问题。使用触摸屏的内置测试工具,我可以看到触控和多点触控按我的预期工作,并且查看系统属性的Pen and touch部分确认计算机正在识别触摸屏。

编辑:我继续测试显示器,多点触控似乎可以在其他windows程序中工作,比如画图。触摸似乎不只在我的应用程序中起作用。

有没有其他人经历过这种情况,或者知道如何重新启用触摸事件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-07 21:23:53

不知何故,将窗口转换为UserControl并在WinForms窗口中托管解决了这个问题,触摸事件会像以前一样触发。

票数 0
EN

Stack Overflow用户

发布于 2012-09-06 16:38:13

这听起来不像是驱动程序的问题。可能在您正在释放TouchCapture的某个触地事件中。你需要检查你的代码。搜索.ReleaseTouchCapture(e.TouchDevice);并检查您是否在正确的位置使用它。

票数 1
EN

Stack Overflow用户

发布于 2020-04-09 19:09:24

对于这个特定问题的答案有点晚了,但由于我遇到了类似的问题,并且花了一段时间才找到解决方案,因此我想出了一个解决方案。在WPF中,按钮上的单击事件会禁用触摸输入。一个简单的解决方法是这个新类:

代码语言:javascript
复制
public class TouchButton : Button
{
    public TouchButton()
    {
        TouchDown += TouchButton_TouchDown;
    }

    private void TouchButton_TouchDown(object sender, System.Windows.Input.TouchEventArgs e)
    {
        RaiseEvent(new RoutedEventArgs(ClickEvent));
    }
}

如果您将Xaml中的按钮更改为TouchButtons,则单击将由触摸(向下)自动触发。它非常简单,可以很容易地适应各种情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11139494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档