概述
WebBrowser
從 Silverlight 3 開始,您將可以建立在瀏覽器宿主環境外啟動並執行 Silverlight 應用程式。
通過 WebBrowser 控制項,您可以在此宿主環境中顯示 HTML 內容。
您可以在 XAML 或代碼中添加 WebBrowser 控制項。預設情況下,WebBrowser 控制項不具有大小。
因此,您必須指定 Height 和 Width 以使控制項顯示在應用程式中。當 WebBrowser 顯示在運行在瀏覽器中的應用程式時,將顯示具有指定高度和寬度的一個矩形,以便代替該控制項。
您將 HTML 內容設定為以若干方式顯示在 WebBrowser 控制項中。
調用 NavigateToString 方法並傳遞一個包含您要顯示的 XAML 內容的字串。
將 Source 屬性設定為完全限定 URI 或相對 URI。
調用 Navigate 方法並將一個完整或相對的 URI 傳遞給您要顯示的 HTML 內容。
WebBrowser.InvokeScript 方法
執行在當前載入的 HTML 中定義的指令碼函數。
名稱
說明
InvokeScript(String):執行在當前載入的 HTML 中定義的指定指令碼。
InvokeScript(String, array<String>[]):使用指定的參數執行在當前載入的 HTML 中定義的指定指令碼函數。
WebBrowser.LoadCompleted 事件
當頂級導航完成且內容載入到 WebBrowser 控制項中時發生,或在載入期間發生錯誤時發生。
效果:
xaml代碼:
<Grid x:Name="LayoutRoot">
<Grid.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#FF0055DD" Offset="0" />
<GradientStop Color="#FF00DDFF" Offset="1" />
</LinearGradientBrush>
</Grid.Background>
<!--可以在此空間中顯示 HTML 內容。
Source 為Web中ClientBin中的一個頁面-->
<WebBrowser x:Name="web" Source="/script-page.htm" Margin="15" />
</Grid>
cs代碼:
public MainPage()
{
InitializeComponent();
//當頂級導航完成且內容載入到 WebBrowser 控制項中時發生,或在載入期間發生錯誤時發生。
web.LoadCompleted +=
new LoadCompletedEventHandler(web_LoadCompleted);
}
void web_LoadCompleted(object sender, NavigationEventArgs e)
{
//執行在當前載入的 HTML 中定義的指令碼函數。
//不含參數的Javascript方法 SayHello()
web.InvokeScript("SayHello");
//有一個參數的Javascript方法 GreetMe(name)
web.InvokeScript("GreetMe", "'SilverLight'");
}
html代碼:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script language="JavaScript">
//為div1 新增內容
//一個參數的方法
function GreetMe(name) {
div1.innerHTML += "<p>你好! " + name + "</p>";
}
//無參數的方法
function SayHello() {
div1.innerHTML += "<p>你好!</p>";
}
</script>
</head>
<body>
Hello world!<br />
<div id="div1">
</div>
</body>
</html>
大功告成!
源碼下載
作者:記憶逝去的青春
出處:http://www.cnblogs.com/lukun/
本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,如有問題,可以通過http://www.cnblogs.com/lukun/ 聯絡我,非常感謝。