本篇將講Web Browse介紹與應用,想知道如何在自己做的APP上開網頁不會再跳出APP而另開瀏覽器嗎? 使用Web Browse讓您輕鬆達成~!
說明
Web Browse可以讓App提供網頁的功能,像是網頁瀏覽或者是資料下載的能力,亦可以瀏覽本機端檔案或遠端的資料,Web Browse瀏覽的方式使用超連結及URL位址,同時也可以檢視任何像是Excel或是Word文件,都可以在Web Browse中開啟及檢視。
常用的屬性方法與事件
| 名稱 | 描述 | 
| Document 屬性 | 取得物件,以對目前 Web 網頁的 HTML 文件物件模型 (DOM) 提供 Managed 存取。 | 
| DocumentCompleted 事件 | 當 Web 網頁結束載入時發生。 | 
| DocumentText 屬性 | 取得或設定目前 Web 網頁的 HTML 內容。 | 
| DocumentTitle 屬性 | 取得目前 Web 網頁的標題。 | 
| GoBack 方法 | 巡覽至記錄中的上一頁。 | 
| GoForward 方法 | 巡覽至記錄的下一頁 | 
| Navigate 方法 | 巡覽至指定的 URL。 | 
| ObjectForScripting 屬性 | 取得或設定物件,Web 網頁指令碼可以用來與應用程式通訊。 | 
| Print 方法 | 列印目前的 Web 網頁。 | 
| Refresh 方法 | 重新載入目前的 Web 網頁。 | 
| Stop 方法 | 中止目前的巡覽,並停止動態網頁項目 (例如音效和動畫)。 | 
| Url 屬性 | 取得或設定目前 Web 網頁的 URL。設定這個屬性,會將控制項尋覽至新的URL。 | 
| Navigating 事件 | 在巡覽開始之前發生,讓動作可以取消。 | 
以上資料來源:http://msdn.microsoft.com/zh-tw/library/w290k23d(v=vs.110).aspx
使用這個控制項的好處是控制項是布置在APP上,因此不會造成APP進入靜止狀態模式,還可以顯示特定的HTML字串
上機範例-顯示遠端網頁
Step1
建立一個專案
Step2
在MainPage.xaml裡面加入一個webBrowser控制項與button按鈕
webBrowser命名為webBrowser1
button命名為button1
 
        
            
            
           
        
        
            
            
           
        
        
              
Step3
在MainPage.xaml.cs裡面加入button1.click事件
private void button1_Click(object sender, RoutedEventArgs e)
        {
            //透過Navigate方法連結到特定頁面
            webBrowser1.Navigate(new Uri("http://yahoo.com.tw"));
        }
測試結果
點選button後,在webBrowser裡面就會讀取到指定的網頁
上機範例-顯示特定HTML字串
Step1
建立專案,如上一個範例Step1
Step2
如上一個範例的Step2
 
        
            
            
           
        
        
            
            
           
        
        
              
Step3
在MainPage.xaml.cs裡面加入button1.click事件,並加入編碼code,反則會產生亂碼,這是因為控制項內建編碼並不支援中文的關西
 private void button1_Click(object sender, RoutedEventArgs e)
        {
            //把中文字進行編碼轉換
            string HTML = ""+EncodeUnicode("中文字測試")+"";
            webBrowser1.NavigateToString(HTML);
        }
        //編碼
        private string EncodeUnicode(string strText)
        {
            string txtUnicode = "";
            foreach (char value in strText)
            {
                int decValue = int.Parse(string.Format("{0:x4}", (int)value),
                    System.Globalization.NumberStyles.HexNumber);
                txtUnicode = txtUnicode + "&#" + decValue.ToString() + ";";
            }
            return txtUnicode;
        }