Контекстное меню гаджета Windows

В моем приложении гаджета возникает проблема с отображением стандартного контекстного меню гаджета. Проблема возникает из-за элемента управления silverlight, когда я нажимаю правой кнопкой мыши событие contextmenu элемента управления Silverligh.

Итак, первым моим решением было поставить поверх прозрачного веб-элемента управления silverlight (таблица). Итак, у меня есть хорошо работающее контекстное меню гаджета и не работающий элемент управления Silverlight. Итак, следующим шагом было сделать прозрачное веб-управление невидимым и обработать контекстное меню. Нравится.

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, например, чтобы скрыть контроль. Но первый - это настоящая боль в шее. Кажется, нет возможности открыть контекстное меню одним щелчком мыши.

Любые идеи, как заставить его работать. или, может быть, другое лучшее решение.


person Denis Kucherov    schedule 25.05.2012    source источник


Ответы (1)


Вы пробовали безоконный режим? Вот более сложный пример, который должен дать вам некоторое представление.

person Botis    schedule 25.05.2012
comment
Да ‹имя параметра = значение без окна = истина /› есть. - person Denis Kucherov; 25.05.2012
comment
спасибо за эту ссылку. вот более свежий. blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/05/28/ на первый взгляд, я понимаю, как предоставить событие клика до управляемого кода, но возможно ли тогда запустить событие контекстного меню гаджета из элемента управления silverlight? - person Denis Kucherov; 25.05.2012
comment
Не думаю, что этот пример приблизил меня к решению. Это просто позволяет мне обрабатывать событие щелчка мыши в управляемом коде, но, насколько я понимаю, нет возможности открыть контекстное меню гаджета из элемента управления silverlight (управляемый код). - person Denis Kucherov; 25.05.2012
comment
Я думаю, что мне нужно что-то вроде имитации события щелчка правой кнопкой мыши на прозрачном элементе управления сразу после первого щелчка правой кнопкой мыши. Но я не могу заставить его работать, и мне это кажется очень неудобным. Не могу поверить, что для этого нет лучшего решения! - person Denis Kucherov; 25.05.2012