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

В моем гаджет-приложении возникла проблема с отображением стандартного контекстного меню гаджета. Проблема, вызванная из-за управления Silverlight, когда я нажимаю правую кнопку Silverligh Control обрабатывать событие context menu.

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

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 ответ

Решение

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

Другие вопросы по тегам