【发布时间】:2014-01-17 05:27:08
【问题描述】:
我正在开发一个支持基本触摸事件(非操作)的 WPF 应用程序。我正在使用 Gong DragDrop 来处理拖放操作。我遇到的问题描述如下:
在[Preview] Drop事件(使用Gong DragDrop)中,我显示一个对话框并提示用户确认放置位置,用户必须单击“是”按钮才能完成放置或“否”按钮取消放置。我可以用鼠标点击这两个按钮,但触摸事件没有运气。
我使用 spy++ 来监视提示对话框的鼠标事件,该对话框派生自一个窗口。鼠标事件和触摸事件都被记录下来。
为什么鼠标事件有效而触摸无效?有没有办法联系工作?
【问题讨论】:
-
触摸不起作用或拖放后触摸不起作用?
-
触摸在通过拖放创建的对话框中不起作用。一旦对话框关闭(使用鼠标),触摸工作正常。谢谢。
-
对不起,我应该详细说明一下。我正在使用与 MVVM 模式兼容的 Gong DragDrop v.0.1.3.11。至于 MVVM 模式,我使用的是 MVVMLight。在 drop 事件期间, gong 拖放库从 viewmodel 调用一个方法(通过接口和其他东西)。 Gong 拖放调用的方法包含将向 GUI 控制器发送消息(使用 Messenger)以生成提示用户确认放置位置的对话框的代码。不知何故,该对话框上的按钮对触摸没有响应,但这些按钮可以工作。鼠标点击。再次感谢。
-
所以顺序是这样的:Gong 拖放事件中的 Drop 事件调用 ViewModel 中的方法 ---> ViewModel 向 GUI 控制器发送消息 ---> Gui 控制器创建一个对话框。在对话框控件中,鼠标有效,触摸无效。希望这有点道理。 :)
-
也面临类似的问题,在 DragDrop 之后,当前屏幕上所有可用的按钮都没有检测到触摸事件,我必须做一个小平移(触摸和移动)并且按钮现在检测到触摸事件。似乎执行 DragDrop 的控件在某些预览事件上侦听时间过长,不允许冒泡到触摸事件:/
标签: wpf mvvm drag-and-drop