Html中链接以popup形式打开,Silverlight中打开网页的几种方法

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

1.HyperLinkButton控件

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

NavigateUri:想要打开的网页地址

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

例如:

NavigateUri="http://rohome.5d6d.com/bbs.php" TargetName="_blank"

FontSize="12"  Cursor="Hand"  />

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

2.HtmlWindow.Navigate

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

例如:

System.Windows.Browser.HtmlPage.Window.Navigate(

new Uri("http://rohome.5d6d.com/bbs.php"), "_blank");

注意:

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

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

3.HtmlPage.PopupWindow

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

例如:

System.Windows.Browser.HtmlPage.PopupWindow

(new Uri("http://coding.windstyle.cn", UriKind.Absolute),

"_blank",

new System.Windows.Browser.HtmlPopupWindowOptions()

>{

Width = 500,

Height = 500

});

注意:

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

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

如果Silverlight对象的AllowHtmlPopupwindow需要设置为“true”。

只能在Silverlight的可见区域里、由用户触发的单击事件中调用此方法,且每个事件中只能调用一次此方法。

可以通过System.Windows.Browser.HtmlPage.IsPopupWindowAllowed属性来检查是否满足上述条件。

如果浏览器不阻止Javascript的window.open调用的话,此方法还会返回一个HtmlWindow对象,否则返回null。

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

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

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 即可。

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

文章转载自:csdn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值