【发布时间】:2014-06-18 08:12:42
【问题描述】:
我的 WPF 应用程序运行良好,但仅在使用鼠标时。在带有触摸屏的设备上使用它时开始出现问题..
我有一个处理 MouseLeftButtonUp 和 TouchUp 事件的网格。
现在,我按下网格,它处理相关事件,然后按下其他控件,其他控件按预期捕获 TouchUp 事件,然后将 TouchUp 事件转换为 MouseLeftButtonUp 事件,这也是可以预料的。
但是,新触发的 MouseLeftButtonUp 事件不是针对我按下的控件触发的,而是针对上述网格触发的!为什么它会这样?
提前谢谢你...
【问题讨论】:
-
你怎么知道 MouseLeftButtonUp 事件"不是针对我按下的控件触发的,而是针对上面提到的网格"?
-
因为我按下的网格和控件都有 MouseLeftButtonUp 处理程序。 Grid 的处理程序被调用,而控件的处理程序没有被调用。
-
它是另一个网格,或按钮,或只是布局控件内的一些空白空间。都是一样的。即使我明确订阅了 MouseLeftButtonUp,控件的处理程序也不会被调用,但网格的处理程序会......
-
你确定你已经在那个网格上设置了一个
Background(一个透明的就可以了)吗?作为旁注,我对Button感到惊讶,因为内部控件允许事件冒泡。 -
好吧,我没有。其实它是一个devexpress gridcontrol,所以可能默认设置了背景,需要检查..
标签: wpf touchscreen mouseleftbuttonup