在Silverlight中打开网页的几种方法

在Silverlight中打开网页是一件很简单的事情,本文来概述一下这几种方法,你会发现,每一种方法需要编写的代码都少的可怜,甚至没有。

  1.HyperLinkButton控件

  这是最简单的方法,只需要设置几个属性即可:

  NavigateUri:想要打开的网页地址

  TargetName:目标框架,既_blank、_parent等

  例如:

1
<HyperlinkButton NavigateUri="http://coding.windstyle.cn" TargetName="_blank" />

  注意:如果Silverlight对象的EnableNavigation设置为“none”的话,会抛出异常。

  2.HtmlWindow.Navigate

  如果需要以编程的方式打开页面的话,就可以调用HtmlWindow.Navigate方法。

  例如:

  System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("http://blog.windstyle.cn", UriKind.Absolute), "_blank");

  注意:

  只有当Silverlight运行在浏览器中时才可以调用此方法。

  如果Silverlight对象的EnableHtmlAccess设置为“false”的话,会抛出异常。

  3.HtmlPage.PopupWindow

  调用HtmlPage.PopupWindow方法会以弹出窗口的形式打开网页。

  例如:

1
2
3
4
5
6
7
System.Windows.Browser.HtmlPage.PopupWindow(new Uri("http://coding.windstyle.cn", UriKind.Absolute),
"_blank",
new System.Windows.Browser.HtmlPopupWindowOptions()
{
Width = 500,
Height = 500
});

  4.脱离浏览器时打开网页

  以上两种编程的方法都只能在浏览器中进行,如果想要在脱离浏览器运行的时候打开网页的话,需要稍微写几行代码。思路很简单,既然HyperLinkButton控件是在任何情况下都可以通用的,那么就从它来派生一个类:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
internal class OOBHyperLinkButton : HyperlinkButton
{
void DoClick()
{
this.OnClick();
}

public static void OpenWebPage(Uri uri, string targetName)
{
OOBHyperLinkButton btn = new OOBHyperLinkButton();
btn.NavigateUri = uri;
btn.TargetName = targetName;
btn.DoClick();
}

      
      然后只需要调用OOBHyperLinkButton.OpenWebPage 即可。

你可能感兴趣的:(silverlight)