.NET TIPS

WPFアプリケーションでWebページを表示するには?[3.5 SP1、C#、VB]

デジタルアドバンテージ 一色 政彦
2008/12/04

 .NET Framework 3.5 SP1のWPF(Windows Presentation Foundation)では、HTMLなどのWebページをWPFアプリケーション上に表示するためのWebBrowserコントロール(System.Windows.Controls名前空間)が新たに追加されており、非常に手軽にWebページの表示ができるようになっている。

 WebBrowserコントロールを利用するには、XAMLコードに<WebBrowser>タグを手入力で書き込み、表示したいWebページのURL文字列をSource属性(=Sourceプロパティ)に指定するだけだ。次のコードは、これを実際に実装した例である(太字の部分が<WebBrowser>タグ)。

<Window x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Window1" Height="300" Width="300">
  <Grid>
    <WebBrowser
      Source="http://www.atmarkit.co.jp/fdotnet/"
      Name="webBrowser1"></WebBrowser>
  </Grid>
</Window>
WebBrowserコントロールを配置したXAMLコード

 上記のXAMLコードを入力すると、Visual Studio 2008のWPF/XAMLデザイナでは、次のように表示される。

WebBrowserコントロールを配置したVisual Studio 2008のWPF/XAMLデザイナ
なお、WebBrowserコントロールは、Visual Studio 2008の[ツールボックス]から、通常のコントロールと同じように、WPF/XAMLデザイナ上にドラッグ&ドロップで配置することもできる。ただしWebBrowserコントロールは標準では表示されていない。これを表示するにはまず、[ツールボックス]の余白を右クリックして、表示されるコンテキスト・メニューから[アイテムの選択]を選択する。これにより[ツールボックス アイテムの選択]ダイアログが表示されるので、[WPF コンポーネント]タブを開き、リストの中にある「WebBrowser」にチェックを入れて、[OK]ボタンをクリックしてダイアログを閉じればよい。

 以上で実装したWPFアプリケーションを実行すると、次のような画面が表示される。

Webページが表示できるWPFアプリケーションの実行例

 もし、プログラムの実行中にWebページをほかのページに切り替えたい場合には、先ほどはXAMLコードで指定した(WebBrowserコントロールの)Sourceプロパティの値を、C#やVB(Visual Basic)のコードで指定すればよい。

 例えば、WPFアプリケーションのウィンドウ(Window)がロードされるときのLoadedイベント・ハンドラで、先ほどのWebBrowserコントロール(名前は「webBrowser1」)のSourceプロパティに別の値を指定するには、次のようなコードになる。

private void Window_Loaded(object sender, RoutedEventArgs e)
{
  webBrowser1.Source = new Uri("http://www.microsoft.com");
}
Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
  webBrowser1.Source = New Uri("http://www.microsoft.com")
End Sub
Webページの表示を切り替えるコード(上:C#、下:VB)

 このコード例では、WebBrowserコントロールで「http://www.microsoft.com」を表示している。上記のコードを見ると分かるように、SourceプロパティにはUriオブジェクト(System名前空間)を渡す必要がある。あるURLを示すUriオブジェクトを生成するには、UriクラスのコンストラクタのパラメータにそのURLを文字列で指定すればよい。End of Article

利用可能バージョン:.NET Framework 3.5 SP1
カテゴリ:WPF/XAML 処理対象:WebBrowserコントロール
使用ライブラリ:Uriクラス(System名前空間)

この記事と関連性の高い別の.NET TIPS
WindowsアプリケーションでWebページを表示するには?
WebBrowserコントロールのコンテンツを文字列により設定するには?
WebBrowserコントロールによりWebページからリンクや画像を抽出するには?
WPF:子ウィンドウを透明にするには?[C#/VB]
Xamarin.Forms:URLを指定して画像を表示するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH