【问题标题】:How to get the mouse button state in Silverlight outside of button press events?如何在按钮按下事件之外在 Silverlight 中获取鼠标按钮状态?
【发布时间】:2009-10-19 15:58:44
【问题描述】:

我有以下情况

我在 Silverlight 应用程序中按下鼠标左键时进行处理,并在按住鼠标并移动鼠标时执行一些操作。当左键被释放时,我关闭了告诉它做这些事情的标志,然后鼠标移动处理程序不再做这些事情。

问题是:如果用户在控制区域,按下左键并移出控制区域,然后释放按钮并重新进入,MouseLeftButtonUp事件永远不会触发并且处理继续直到用户单击鼠标。

我的临时解决方法是在 MouseLeave 上关闭鼠标标志,但这并不是我真正想要的。我想在 MouseEnter 事件中查看鼠标的左键状态,但我不知道有什么方法。

有谁知道我可以在 Silverlight 3 中的按下事件之外访问鼠标按钮状态的方法吗?谢谢,

更新

经过深入研究,这似乎在 Silverlight 2(可能还有 3)中是不可能的。我找到了this link。如果有人知道解决方法,请告诉我。

【问题讨论】:

    标签: silverlight-3.0 event-handling mouse


    【解决方案1】:

    你需要做的事情可以通过 UIElement.CaptureMouse 方法来完成:

    http://msdn.microsoft.com/en-us/library/system.windows.uielement.capturemouse%28VS.95%29.aspx

    当 UIElement 捕获鼠标时,即使鼠标离开 Silverlight 控件,它也会继续接收鼠标事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      相关资源
      最近更新 更多