|
.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を文字列で指定すればよい。
利用可能バージョン:.NET Framework 3.5 SP1
カテゴリ:WPF/XAML 処理対象:WebBrowserコントロール
使用ライブラリ:Uriクラス(System名前空間) |
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間