Javascript Windows小工具上下文菜单

Javascript Windows小工具上下文菜单,javascript,silverlight,sidebar,windows-desktop-gadgets,Javascript,Silverlight,Sidebar,Windows Desktop Gadgets,我在我的小工具应用程序中遇到了显示标准小工具上下文菜单的问题。这个问题是由silverlight控件引起的,当我右键单击silverlight控件句柄contextmenu事件时 所以,我的第一个解决方案是将silverlight控件置于transprent web控件(表)之上。好吧,这样我得到了良好的工作小工具上下文菜单,而不是工作silverlight控件。 因此,下一步是使透明web控件不可见并处理oncontextmenu。像这样 HTML 它正在处理一些小故障。您需要进行两次右键单击

我在我的小工具应用程序中遇到了显示标准小工具上下文菜单的问题。这个问题是由silverlight控件引起的,当我右键单击silverlight控件句柄contextmenu事件时

所以,我的第一个解决方案是将silverlight控件置于transprent web控件(表)之上。好吧,这样我得到了良好的工作小工具上下文菜单,而不是工作silverlight控件。 因此,下一步是使透明web控件不可见并处理oncontextmenu。像这样

HTML

它正在处理一些小故障。您需要进行两次右键单击,以及一些隐藏transpanent控件的事件。第二个不是大问题,我可以使用onmouseover事件来隐藏控件。但第一个是真正的痛苦的脖子。似乎没有办法一次点击就显示上下文菜单


有没有办法让它工作。或者其他更好的解决方案。

您尝试过无窗口模式吗?是一个更复杂的例子,但应该会给你一些想法。

是的,谢谢你的参考。这是最近的一个。乍一看,我了解了如何向托管代码提供click事件,但是否有可能从silverlight control启动gadget上下文菜单事件?我不认为这个示例更接近解决方案。它只允许我在托管代码中处理鼠标单击事件,但据我所知,无法从silverlight控件(托管代码)打开gadget上下文菜单。我认为我需要类似于在透明控件上模拟右键单击事件的东西,就在第一次右键单击之后。但是我不能让它工作,而且在我看来它很尴尬。我不敢相信没有更好的解决办法!
<body oncontextmenu="ContextMenu();" onload="init();" >
ContextMenu()
{
var vis = document.getElementById('overlapControl').style.visibility;
if (vis == "hidden") {
    document.getElementById('overlapControl').style.visibility = "visible";
    window.event.returnValue = false;
}