相关疑难解决方法(0)

如何避免鼠标在Touch上移动

我有一个WPF应用程序,可以使用鼠标和使用Touch.我禁用所有窗口"增强功能"以便只触摸事件:

Stylus.IsPressAndHoldEnabled="False"
Stylus.IsTapFeedbackEnabled="False"
Stylus.IsTouchFeedbackEnabled="False"
Stylus.IsFlicksEnabled="False"
Run Code Online (Sandbox Code Playgroud)

结果是点击的行为就像我想要的那样,除了两点:

  • 拖动时点击一个小的"触摸"光标(小白星).
    完全无用,因为用户手指已经在这个位置,不需要反馈(除非我的元素在可行的情况下可能改变颜色).
  • 移动/点击结束后,元素保持"悬停"状态.

两者都是这样一个事实的结果:当Windows正确传输触摸事件时,他仍然将鼠标移动到最后一个主触摸事件.

当我在应用程序中使用触摸时,我不希望窗口完全移动鼠标.有没有办法完全避免这种情况?

笔记:

  • 处理触摸事件对此没有任何改变.
  • 使用SetCursorPos移动鼠标使光标闪烁,并不是真正用户友好.
  • 禁用触摸面板充当输入设备会完全禁用所有事件(我也更喜欢应用程序本地解决方案,而不是系统范围的解决方案).
  • 我不在乎解决方案是否涉及COM/PInvoke或在C/C++中提供我将翻译.
  • 如果有必要修补/挂钩一些Windows dll,那么软件无论如何都将在专用设备上运行.
  • 我正在调查表面SDK,但我怀疑它会显示任何解决方案.由于表面是纯触摸设备,因此不存在与鼠标交互不良的风险.

c# wpf windows-7

21
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

windows-7 ×1

wpf ×1