我有以下情况
我处理在 Silverlight 应用程序中按下鼠标左键的时间,并在按住鼠标和移动鼠标时执行一些操作。当释放左按钮时,我关闭告诉它执行该操作的标志,然后鼠标移动处理程序不再执行该操作。
问题是:如果用户位于控制区域中,按下左键并移出控制区域,然后释放按钮并重新进入,则 MouseLeftButtonUp 事件永远不会触发,并且处理将继续,直到用户单击鼠标。
我的临时解决办法是关闭 MouseLeave 上的鼠标标志,但这并不是我真正想要的。我想检查 MouseEnter 事件中鼠标左键的状态,但我不知道有什么方法可以做到这一点。
有谁知道我可以在 Silverlight 3 中的按下事件之外访问鼠标按钮状态的方法吗?谢谢,
Update
经过彻底的研究,这在 Silverlight 2(可能还有 3)中似乎不可能。我发现这个链接 http://msdn.microsoft.com/en-us/library/system.windows.input.mouseeventargs(VS.95).aspx。如果有人知道解决方法,请告诉我。
您需要做的可以使用 UIElement.CaptureMouse 方法来完成:
http://msdn.microsoft.com/en-us/library/system.windows.uielement.capturemouse%28VS.95%29.aspx http://msdn.microsoft.com/en-us/library/system.windows.uielement.capturemouse%28VS.95%29.aspx
当 UIElement 捕获鼠标时,即使鼠标离开 Silverlight 控件,它也会继续接收鼠标事件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)