2012-05-25 5 views
0

У меня приложение Gadget у меня проблема с отображением стандартного контекстного меню гаджета. Проблема вызвана из-за управления silverlight, когда я нажимаю правую кнопку Silverligh control handle contextmenu.Контекстное меню Windows Gadget

Итак, сначала мое решение заключалось в том, чтобы надеть контрольный элемент управления серебристым цветом (таблица). Хорошо, что у меня получилось хорошее рабочее контекстное меню гаджета, а не управление серебром. Итак, следующим шагом было сделать невидимым управление трансперентным веб-интерфейсом и обработать 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 в первом Я понимаю, как обеспечить событие click до управляемого кода, но возможно ли запустить событие контекстного меню гаджета из элемента управления silverlight? –

+0

Я не думаю, что этот пример поставил меня ближе к решению. Это просто позволяет мне обрабатывать событие щелчка мыши в управляемом коде, но, как я понимаю, нет способа открыть контекстное меню гаджета из элемента управления silverlight (управляемый код). –