如何在按钮按下事件之外在 Silverlight 中获取鼠标按钮状态?
Posted
技术标签:
【中文标题】如何在按钮按下事件之外在 Silverlight 中获取鼠标按钮状态?【英文标题】:How to get the mouse button state in Silverlight outside of button press events? 【发布时间】:2009-10-19 15:58:44 【问题描述】:我有以下情况
我在 Silverlight 应用程序中按下鼠标左键时进行处理,并在按住鼠标并移动鼠标时执行一些操作。当左键被释放时,我关闭了告诉它做这些事情的标志,然后鼠标移动处理程序不再做这些事情。
问题是:如果用户在控制区域,按下左键并移出控制区域,然后释放按钮并重新进入,MouseLeftButtonUp事件永远不会触发并且处理继续直到用户单击鼠标。
我的临时解决方法是在 MouseLeave 上关闭鼠标标志,但这并不是我真正想要的。我想在 MouseEnter 事件中查看鼠标的左键状态,但我不知道有什么方法。
有谁知道我可以在 Silverlight 3 中的按下事件之外访问鼠标按钮状态的方法吗?谢谢,
更新
经过深入研究,这似乎在 Silverlight 2(可能还有 3)中是不可能的。我找到了this link。如果有人知道解决方法,请告诉我。
【问题讨论】:
【参考方案1】:你需要做的事情可以通过 UIElement.CaptureMouse 方法来完成:
http://msdn.microsoft.com/en-us/library/system.windows.uielement.capturemouse%28VS.95%29.aspx
当 UIElement 捕获鼠标时,即使鼠标离开 Silverlight 控件,它也会继续接收鼠标事件。
【讨论】:
以上是关于如何在按钮按下事件之外在 Silverlight 中获取鼠标按钮状态?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 microbit 与 BLE 连接并监听按钮按下事件?
如何在输入文本区域中创建 Enter 事件以使用 Vue.js 和 Electron 按下按钮