[Windows 8 App]顯示訊息的控制項------WebView

[Windows 8 App]顯示訊息的控制項------WebView

 

WebView控制項

 

使用WebView控制項可以做出一個簡易的網頁瀏覽器窗口

將指定位址的網頁內容顯示出來

 

WebView的常用屬性

屬性 屬性介紹
Name WebView控制項的名稱
Source WebView控制項打開的URI位置

 

WebView的常用方法

方法 方法介紹
NavigateToString 顯示指定的HTML字串內容
Navigate 顯示URI地址的網頁內容

 

HTML文字解析

 

我們做一個簡單的範例來介紹如何使用WebView解析HTML文字並顯示

新增一個專案【ShowHtmlDemo】,在Grid元素中新增一個WebView的控制項

 

【MainPage.xaml】的程式碼如下:


<Page
    x:Class="ShowHtmlDemo.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:ShowHtmlDemo"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <WebView Name="ShowHtml" HorizontalAlignment="Left" Height="318" Width="555" Margin="350,135,0,0" VerticalAlignment="Top" />
    </Grid>
</Page>

替【MainPage.xaml】裡面的WebView控制項設置一些屬性,Name屬性值為 ShowHtml,Height屬性值為100

Width屬性值為 100 ,HorizontalAlignment的屬性值為 Left

VerticalAlignment屬性值為 Top

 

 

【MainPage.xaml.cs】的程式碼如下:

在【MainPage.xaml.cs】中的OnNavigatedTo方法中,定義一段HTML字串


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// 空白頁項目範本已記錄在 http://go.microsoft.com/fwlink/?LinkId=234238

namespace ShowHtmlDemo
{
    /// <summary>
    /// 可以在本身使用或巡覽至框架內的空白頁面。
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        /// <summary>
        /// 在此頁面即將顯示在框架中時叫用。
        /// </summary>
        /// <param name="e">描述如何到達此頁面的事件資料。Parameter
        /// 屬性通常用來設定頁面。</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            string htmlString = "<html><head></head><body><h1>Webview控制項文字解析</h1><div style='font-family:FangSong'>使用Webview控制項解析HTML文字</div></body</html>";
            ShowHtml.NavigateToString(htmlString);
        }
    }
}

 

上面的程式碼中,定義了一個string的htmlstring,用來儲存HTML字串

然後用htmlString做參數

用ShowHtml的NavigateToString方法,將HTML文字解析並顯示在介面的WebView中

 

 

網頁瀏覽

 

設置一個網路的URI地址,直接在WebView顯示

 

新增一個專案【ShowWebDemo】,在【MainPage.xaml】中新增一個WebView的控制項

 

【MainPage.xaml】的程式碼:


<Page
    x:Class="ShowWebDemo.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:ShowWebDemo"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <WebView Name="ShowWeb"/>
    </Grid>
</Page>

在Grid中放置一個WebView的控制項,Name屬性為 ShowWeb

 

【MainPage.xaml.cs】的程式碼:


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// 空白頁項目範本已記錄在 http://go.microsoft.com/fwlink/?LinkId=234238

namespace ShowWebDemo
{
    /// <summary>
    /// 可以在本身使用或巡覽至框架內的空白頁面。
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        /// <summary>
        /// 在此頁面即將顯示在框架中時叫用。
        /// </summary>
        /// <param name="e">描述如何到達此頁面的事件資料。Parameter
        /// 屬性通常用來設定頁面。</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            Uri targetUri = new Uri("http://www.microsoft.com.tw");
            ShowWeb.Navigate(targetUri);
        }
    }
}

 

在OnNavigatedTo的方法中定義一個URI的地址

在用Navigate方法將畫面給顯示出來

 

專案執行畫面:

147

會開啟台灣微軟的官方網站畫面