基于Silverlight的小工具在浏览器中打开链接?

基于Silverlight的小工具在浏览器中打开链接?,silverlight,windows-desktop-gadgets,Silverlight,Windows Desktop Gadgets,我已经编写了一个边栏小工具,它使用silverlight显示了一系列链接。我可以把silverlight放在一个网站上,当我点击它们在新标签中打开的链接时。但是,当我将其打包为小工具时,链接会显示在小工具中,可以单击它们,但它们不会打开浏览器窗口来显示链接 我需要做什么才能让它工作?最好使用您喜欢的shell执行方法从小工具启动外部链接;这样做将在默认浏览器中启动它们。开发小工具时,“我的所有链接”都有一个指向以下方法的onclick处理程序: function launchLink() {

我已经编写了一个边栏小工具,它使用silverlight显示了一系列链接。我可以把silverlight放在一个网站上,当我点击它们在新标签中打开的链接时。但是,当我将其打包为小工具时,链接会显示在小工具中,可以单击它们,但它们不会打开浏览器窗口来显示链接


我需要做什么才能让它工作?

最好使用您喜欢的shell执行方法从小工具启动外部链接;这样做将在默认浏览器中启动它们。开发小工具时,“我的所有链接”都有一个指向以下方法的onclick处理程序:

function launchLink() {
    if (this.href.slice(0,7) == "http://") {
        System.Shell.execute(this.href);
        return false;
    }
}
理论上,您可以稍微修改它,并使用HTML桥从Silverlight代码中调用它

JS代码

function launchLink(href) {
    System.Shell.execute(href);
}
Silverlight

// HtmlPage requires using System.Windows.Browser
HtmlPage.Window.Invoke("launchLink", "http://some.com/");

谢谢Andy E。事实证明我不需要
HtmlPage.RegisterScriptableObject(“页面”,这个)
bit(这只是让托管对象对javascript可见),并且只需要通过调用javascript方法来执行shell。@Sam:我有点这样认为,但不太确定。我的Silverlight知识不是它所能做到的:-)