方法: Windows Phone 用の Web ブラウザー コントロールを使用してネットワークから Web コンテンツを表示する

2012/02/09

アプリケーションで WebBrowser コントロールをホストして、ネットワーク上の Web コンテンツを表示できます。たとえば、レシピ アプリケーション内でネットワーク上のレシピを表示できます。

これを実現するには、アプリケーション内で WebBrowser コントロールをホストし、コントロールの Source プロパティまたは Navigate(Uri) メソッドを使用して場所を変更します。

注意点注意:

既定では、WebBrowser コントロールではスクリプトが無効になっています。コントロールでスクリプトを使用する必要がある場合は、IsScriptEnabled プロパティを true に設定します。

次のコード例では、.xaml ファイル内から WebBrowser コントロールの Source プロパティを更新する方法を示します。

<phone:WebBrowser Source="http://www.bing.com" />

WebBrowser コントロールの名前が .xaml ファイルで指定されている場合は、分離コード ファイル内から Source プロパティを更新することもできます。次のコード例では、.xaml ファイルで webBrowser1 という名前が付けられている WebBrowser コントロールの Source プロパティを更新する方法を示します。

webBrowser1.Source = new Uri("http://www.bing.com", UriKind.Absolute);

また、WebBrowser クラスの Navigate(Uri) メソッドを使用して同じ処理を行うこともできます。

webBrowser1.Navigate(new Uri("http://www.bing.com", UriKind.Absolute));

プロパティを設定する代わりにメソッドを呼び出す場合、ビジュアル ツリーに WebBrowser コントロールがないと、InvalidOperationException がスローされることに注意してください。これを回避するには、Loaded イベントにハンドラーをアタッチして、メソッドが呼び出される前に、ビジュアル ツリーにコントロールが表示されるようにします。


webBrowser1.Loaded += (object sender, RoutedEventArgs e) =>
{
    webBrowser1.Navigate(new Uri("http://www.bing.com", UriKind.Absolute));
};

表示: