轉帖|其它|編輯:郝浩|2011-04-27 14:34:27.000|閱讀 1713 次
概述:在Silverlight中打開網頁是一件很簡單的事情,本文來概述一下這幾種方法,你會發現,每一種方法需要編寫的代碼都少的可憐,甚至沒有。 1.HyperLinkButton控件 這是最簡單的方法,只需要設置幾個屬性即可:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在Silverlight中打開網頁是一件很簡單的事情,本文來概述一下這幾種方法,你會發現,每一種方法需要編寫的代碼都少的可憐,甚至沒有。
1.HyperLinkButton控件
這是最簡單的方法,只需要設置幾個屬性即可:
NavigateUri:想要打開的網頁地址
TargetName:目標框架,既_blank、_parent等
例如:
<HyperlinkButton Content="網址://rohome.5d6d.com/"
NavigateUri="//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("//rohome.5d6d.com/bbs.php"), "_blank");
注意:
只有當Silverlight運行在瀏覽器中時才可以調用此方法。
如果Silverlight對象的EnableHtmlAccess設置為“false”的話,會拋出異常。
3.HtmlPage.PopupWindow
調用HtmlPage.PopupWindow方法會以彈出窗口的形式打開網頁。
例如:
System.Windows.Browser.HtmlPage.PopupWindow
(new Uri("//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 即可。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:csdn