Silverlight打开uri链接被浏览器阻止

问题很简单但很烦人.我有一个按钮,点击事件只是打开一个链接

HtmlPage.Window.Navigate(uri,"_blank");

但它一直被浏览器阻止.我搜索了很多.似乎每个人都在使用这种方法,但没有人提到新的选项卡/窗口被阻止.所以我该怎么做?

UPDATE

问题解决了.似乎要导航到外部网页,应该使用HyperlinkBut​​ton.这不会被浏览器阻止.

“要启用用户导航到其他网页,您可以使用HyperlinkBut​​ton控件并将NavigateUri属性设置为外部资源,并设置TargetName属性以打开新的浏览器窗口.” — MSDN,Silverlight – External navigation

<HyperlinkButton NavigateUri="http://www.microsoft.com" Content="Go to Microsoft" TargetName="_blank" />

PS. HtmlPage.PopupWindow也被浏览器阻止.在我看来,没有用户手动禁用块,HtmlPage.Window.Navigate和HtmlPage.PopupWindow是无用的.

解决方法

您是否在Silverlight 3和4中考虑过System.Windows.browser.HtmlPage.PopupWindow(uri,“_ blank”,null)?

您也可以通过HtmlPopupWindowOptions设置一组选项,而不是最后一个空值

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...