チュートリアル: デザイン時の Windows フォームでの新しい WPF コンテンツの作成
このトピックでは、Windows フォーム ベースのアプリケーションで使用するための Windows Presentation Foundation (WPF) コントロールの作成方法について説明します。
このチュートリアルでは次のタスクを行います。
プロジェクトを作成します。
新しい WPF コントロールを作成します。
新しい WPF コントロールを Windows フォームに追加します。 WPF コントロールは ElementHost コントロールでホストされます。
注意
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「設定の操作」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
- Visual Studio 2008.
プロジェクトの作成
まず、Windows フォーム プロジェクトを作成します。
注意
WPF コンテンツをホストする場合は、C# プロジェクトと Visual Basic プロジェクトのみがサポートされます。
プロジェクトを作成するには
- HostingWpf という名前の新しい Windows フォーム プロジェクトを Visual Basic または Visual C# で作成します。 詳細については、「方法: 新しい Windows フォーム アプリケーション プロジェクトを作成する」を参照してください。
新しい WPF コントロールの作成
新しい WPF コントロールの作成とプロジェクトへの追加は、プロジェクトに他のアイテムを追加する場合と同じように簡単です。 Windows フォーム デザイナーは、複合コントロールと呼ばれる一種のコントロールまたはユーザー コントロールで使用します。 WPF ユーザー コントロールの詳細については、UserControl の説明を参照してください。
注意
WPF の System.Windows.Controls.UserControl 型は、Windows フォームが提供する System.Windows.Forms.UserControl というユーザー コントロールと区別されます。
新しい WPF コントロールを作成するには
ソリューション エクスプローラーで、ソリューションに新しい [WPF ユーザー コントロール ライブラリ] プロジェクトを追加します。 名前はこのコントロール ライブラリの既定である WpfControlLibrary1 を使用します。 既定のコントロール名は UserControl1.xaml です。
新しいコントロールを追加すると、次の処理が実行されます。
UserControl1.xaml ファイルが追加されます。
UserControl1.xaml.cs ファイルまたは UserControl1.xaml.vb ファイルが追加されます。 このファイルには、イベント ハンドラーなどの実装のための分離コードが含まれています。
WPF アセンブリへの参照が追加されます。
UserControl1.xaml ファイルが WPF Designer for Visual Studio で開きます。
デザイン ビューで UserControl1 が選択されていることを確認します。 詳細については、「方法 : デザイン画面上で要素を選択して移動する」を参照してください。
[ツールボックス] からデザイン サーフェイスに System.Windows.Controls.TextBox コントロールをドラッグします。
[プロパティ] ウィンドウで、Text プロパティの値を Hosted Content に設定します。
注意
一般的には、さらに高度な WPF コンテンツを使用します。 ここでは、System.Windows.Controls.TextBox コントロールを説明する目的でのみ使用しています。
プロジェクトをビルドします。
WPF コントロールの Windows フォームへの追加
新しい WPF コントロールをフォームで使用する準備ができました。 Windows フォームでは、WPF コンテンツをホストするのに ElementHost コントロールを使用します。
WPF コントロールを Windows フォームに追加するには
Windows フォーム デザイナーで Form1 を開きます。
[ツールボックス] で、[WPFUserControlLibrary WPF ユーザー コントロール] というラベルのタブを探します。
UserControl1 のインスタンスをフォームへドラッグします。
ElementHost コントロールが WPF コントロールのホスト用としてフォームに自動作成されます。
ElementHost コントロールは elementHost1 と名付けられます。[プロパティ] ウィンドウでは、その Child プロパティが [UserControl1] に設定されていることを確認できます。
WPF アセンブリへの参照がプロジェクトに追加されます。
elementHost1 コントロールにはスマート タグ パネルがあり、使用可能なホスト オプションが表示されます。
[ElementHost タスク] スマート タグ パネルで [親コンテナーにドッキングする] をクリックします。
F5 キーを押してアプリケーションをビルドし、実行します。
次の手順
Windows フォームと WPF は異なるテクノロジですが、緊密な相互運用が実現されるよう設計されています。 アプリケーションの外観や動作を多彩にするために、次を試してください。
Windows フォーム コントロールを WPF ページでホストします。 詳細については、「チュートリアル: WPF での Windows フォーム コントロールのホスト」を参照してください。
Windows フォームの visual スタイルを WPF コンテンツに適用します。 詳細については、「方法 : ハイブリッド アプリケーションで視覚スタイルを有効にする」を参照してください。
WPF コンテンツのスタイルを変更します。 詳細については、「チュートリアル: WPF コンテンツへのスタイルの適用」を参照してください。