从Silverlight控件检查屏幕上的任何位置是否按下了鼠标?

时间:2011-11-07 05:21:57

标签: c# silverlight events mouse

我有一个Silverlight控件,可以作为下拉菜单。当鼠标ISNT悬停在下拉控件或其任何一个子节点上时,我想要鼠标按下事件。

我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

那取决于你对“屏幕”的意思。

在Silverlight中,当鼠标悬停在Silverlight插件实际使用的屏幕部分上时,您将能够检测到鼠标按下。

第一步是使用此代码: -

 Application.Current.RootVisual.AddHandler(UIElement.MouseLeftButtonDown, myMouseButtonHandlerMethod, true)

这对您来说可能已经足够了,但是,如果在使用PopupChildWindow控件时仍需要检测鼠标,则还需要将此处理程序附加到这些控件上(因为坐在RootVisual上方。

如果您想在主机html页面中使用Javascript,您可以采取进一步措施。如果您的SL组件仅占用HTML页面的一部分,您可以通过HTMLBridge获取更多事件,以便在浏览器客户端区域的任何位置检测鼠标。

如果你真的是指整个屏幕,那么目前这是不可能的。