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

来源:互联网 发布:拍萌萌兔耳朵照片软件 编辑:程序博客网 时间:2024/05/16 17:53

本文主要介绍在sliverlight项目中使用HyperLinkButton控件打开外部链接进入相应网页的方法

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

  NavigateUri:想要打开的网页地址

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

例如:

<HyperlinkButton x:Name="txtTitle"
                 NavigateUri="http://control.blog.sina.com.cn/admin/article/article_add.php"
                 TargetName="_blank" />

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

如果想在c#后台进行实现相应的功能那么可以调用HtmlWindow.Navigate方法

例如:

System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("http://control.blog.sina.com.cn/admin/article/article_add.php", UriKind.Absolute), "_blank");

注意:如果将slilverlight程序下载到本地,此方法将会失效。在xaml中则OK。

需求:在DataGrid中,之前cell中的dataTemplet中放了一个TextBlock,进行相应属性的显示,现在需要此cell中的属性需要进行链接到外部网页,但是不需要当悬浮时有linkButton的一些样式出现,保持之前TextBlock的样式。

解决:当然,我们可以把TextBlock替换成LinkButton,然后重写linkbutton的样式。

现在我提供一种简单的方式,即TextBlock不变,在他的下方放一个LinkButton,只用于点击链接用,TextBlock用于显示。但是我们还需要做的是设置TextBlock的接收事件为false,代码:

<HyperlinkButton x:Name="txtTitle"
                 Opacity="0"
                 Content="{Binding Title.Text}"
                 NavigateUri="{Binding Links[0].Uri}"
                 TargetName="_blank" />
<TextBlock IsHitTestVisible="False"
           Text="{Binding Title.Text}"/>

希望此博客能给的大家带来帮助,O(∩_∩)O谢谢

原创粉丝点击