在新选项卡中打开silverlight窗口

时间:2010-04-30 10:19:47

标签: silverlight

我有一个silverlight窗口,当按下一个按钮时,我想在新的tab \ window上打开它。我该怎么办?

6 个答案:

答案 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作为HyperlinkBut​​ton的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的工作方式。