1
我有一個silverlight控件,作爲一個下拉菜單。當鼠標ISNT懸停在下拉控件或其任何一個子項上時,我希望得到一個鼠標按下的事件。檢查Silverlight控件是否在屏幕上的任意位置按下鼠標?
我該怎麼做呢?
我有一個silverlight控件,作爲一個下拉菜單。當鼠標ISNT懸停在下拉控件或其任何一個子項上時,我希望得到一個鼠標按下的事件。檢查Silverlight控件是否在屏幕上的任意位置按下鼠標?
我該怎麼做呢?
那麼這取決於你的意思是「屏幕」。
在Silverlight中,只有在鼠標位於Silverlight插件實際使用的屏幕部分上方時,才能檢測到鼠標移動。
的第一步是使用下面的代碼: -
Application.Current.RootVisual.AddHandler(UIElement.MouseLeftButtonDown, myMouseButtonHandlerMethod, true)
這很可能是夠你,但是,如果你仍然需要檢測鼠標按下時Popup
或ChildWindow
控制都在使用,您將需要將這個處理程序附加到這些處理程序(因爲坐在RootVisual
之上)。
如果您想在host html頁面中使用Javascript,您可能需要進一步研究。如果您的SL組件僅佔用HTML頁面的一部分,您可以通過HTMLBridge獲取更多事件,以便在瀏覽器客戶端區域的任何位置檢測鼠標。
如果你真的是指整個屏幕,那麼目前這是不可能的。
AttachHandler不存在Application.Current.RootVisual .. – tweetypi
糟糕使AddHandler – AnthonyWJones