【发布时间】:2018-05-18 07:46:58
【问题描述】:
我有一个 WPF 弹出窗口,可以使用鼠标完美运行。
当用户按预期点击弹出窗口外部时,弹出窗口将关闭 - 到目前为止一切都很好
当在触摸屏上弹出窗口拒绝关闭,直到另一个控件获得焦点(例如通过单击按钮或聚焦文本框)
我需要做什么才能让弹出窗口像点击时一样在触摸时关闭?
我认为这与不失去对触摸的关注有关,但我在谷歌上找不到与此相关的任何内容
谢谢
【问题讨论】:
-
“当用户按预期点击弹出窗口外部时,弹出窗口将关闭” - 在弹出窗口之外,这是如何实现的?弹出窗口似乎在侦听要关闭的事件?您知道 WPF 中有单独的鼠标和触摸事件吗? stackoverflow.com/questions/21399502/…
-
是的,这是使用弹出窗口的内置功能,我将弹出窗口设置为 StaysOpen = False,这允许它保持打开状态,直到有人在外面点击
-
那么,当您“触摸”文本框时,它会消失吗?我没有启用触摸的设备,所以无法测试,但也许您可以使用 TouchDown 手动监听事件并重置焦点?
-
我并不是说代码有问题,或者我的代码有问题。我只是询问触摸和鼠标输入之间的 WPF 焦点更改是否不同。如果问题不要求用特定代码诊断问题,则问题不需要代码
-
您使用的是 Windows 7 吗?