2012-05-25 162 views
0

我的小工具應用程序我遇到了顯示標準小工具上下文菜單的問題。由於silverlight控件造成的問題,當我點擊右鍵Silverligh控件處理contextmenu事件。Windows小工具上下文菜單

所以首先我的解決方案是放在silverlight控制transprent網頁控制(表)的頂部。那麼,我得到了良好的工作小工具上下文菜單,不工作Silverlight控制。 因此,下一步是使transperent網頁控制不可見並處理oncontextmenu。喜歡這個。

HTML

<body oncontextmenu="ContextMenu();" onload="init();" > 

的JavaScript

ContextMenu() 
{ 
var vis = document.getElementById('overlapControl').style.visibility; 
if (vis == "hidden") { 
    document.getElementById('overlapControl').style.visibility = "visible"; 
    window.event.returnValue = false; 
} 

它的工作有一些小問題。您需要進行兩次右鍵單擊,以及一些隱藏透明控制的事件。第二個不是一個大問題,我可以使用onmouseover事件來隱藏控件。但第一個是真正的脖子痛。似乎沒有辦法單擊顯示上下文菜單。

任何想法如何使其工作。或者其他更好的解決方案。

回答

1

您是否嘗試過無窗模式? Here是一個更復雜的例子,但應該給你一些想法。

+0

在那裏。 –

+0

謝謝你的參考。這裏是更近的一個。 http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/05/28/how-to-handle-rightclick-mouse-event-in-silverlight-take-2.aspx in a first一眼就知道如何提供點擊事件到託管代碼,但是是否有可能從Silverlight控件中觸發小工具上下文菜單事件? –

+0

我不認爲這個例子讓我更接近解決方案。它只是允許我在託管代碼中處理鼠標點擊事件,但據我所知,無法從Silverlight控件(託管代碼)打開小工具上下文菜單。 –