我有一个silverlight窗口,当按下一个按钮时,我想在新的tab \ window上打开它。我该怎么办?
答案 0 :(得分:14)
HtmlPage.Window.Navigate()
方法有一个重载,允许您指定加载新页面的帧。_blank
用于新窗口/选项卡。
HtmlPage.Window.Navigate(new Uri("http://google.com"), "_blank");
答案 1 :(得分:7)
从字面上理解答案是: -
HtmlPage.Window.Navigate(HtmlPage.Document.DocumentUri, "_blank");
答案 2 :(得分:1)
不要像这里的人一样使用URI,而是建议您只创建页面的对象并将其传递给导航方法。
Dim yournewpage as new OrganiztrionInfoFromToolTip()
HtmlPage.Window.Navigate(yournewpage, "_blank")
答案 3 :(得分:0)
您可以使用HyperlinkButton。
<HyperlinkButton NavigateUri="http://www.silverlight.net" TargetName="_blank" Content="HyperlinkButton"/>
将“_blank”指定为TargetName时。将打开一个新选项卡或窗口,并打开指定的uri。 TargetName的其他值也是有效的。请参阅here更多。
修改:
要在新标签页中打开相同的Silverlight应用程序,您可以使用System.Windows.Browser.HtmlPage.Document.DocumentUri作为HyperlinkButton的NavigationUri。
答案 4 :(得分:0)
也可以在.aspx Page
中试试<head id="Head1" runat="server">
<title>Your Applicateion</title>
<script type="text/javascript">
var windowClose = window.close;
window.close = function () {
window.open("", "_self");
windowClose();
}
function OpenWindow() {
window.opener = 'x';
window.close();
window.open('Default.html', '_blank', 'status=no,toolbar=no,location=no,menubar=no,directories=no,resizable=no,scrollbars=no,height=' + screen.availHeight + ',width=' + screen.availWidth + ',top=0,left=0');
return false;
}
</script>
</head>
<body onload="OpenWindow();">
<form id="form1" runat="server">
</form>
</body>
答案 5 :(得分:-3)
您可以在“新标签页”中打开的唯一内容是网页。如果要在新选项卡中打开其他Silverlight应用程序,则需要将其托管在网页中,并且需要使用HtmlPage.Window.Navigate()打开该页面。你不能只是打开一个新选项卡,并以某种方式包含应用程序中嵌入的东西 - 这不是webbrowsers的工作方式。