チュートリアル: デザイン時に Windows フォームで新しい WPF コンテンツを作成する

この記事では、Windows フォーム ベースのアプリケーションで使用する Windows Presentation Foundation (WPF) コントロールを作成する方法を示します。

必須コンポーネント

このチュートリアルを完了するには Visual Studio が必要です。

プロジェクトの作成

Visual Studio を開き、Visual Basic または Visual C# で HostingWpf という名前の新しい Windows フォーム アプリ (.NET Framework) プロジェクトを作成します。

注意

WPF コンテンツをホストする場合は、C# プロジェクトと Visual Basic プロジェクトのみがサポートされます。

新しい WPF コントロールを作成する

新しい WPF コントロールを作成し、プロジェクトに追加するのは、プロジェクトへの他の項目の追加と同じくらい簡単です。 Windows フォーム デザイナーは、"複合コントロール" または "ユーザー コントロール" という名前の特定の種類のコントロールと連携します。 WPF ユーザー コントロールの詳細については、「UserControl」を参照してください。

注意

WPF の System.Windows.Controls.UserControl の種類は、同じ System.Windows.Forms.UserControl という名前を持つ、Windows フォームで提供されるユーザー コントロールの種類とは区別されます。

新しい WPF コントロールを作成するには:

  1. ソリューション エクスプローラーで、新しい WPF ユーザー コントロール ライブラリ (.NET Framework) プロジェクトをソリューションに追加します。 このコントロール ライブラリの既定の名前である WpfControlLibrary1 を使用します。 既定のコントロールの名前は UserControl1.xaml です。

    新しいコントロールを追加すると次の影響があります。

    • ファイル UserControl1.xaml が追加されます。

    • ファイル UserControl1.xaml.cs (または UserControl1.xaml.vb) が追加されます。 このファイルには、イベント ハンドラーとその他の実装のための分離コードが含まれています。

    • WPF アセンブリへの参照が追加されます。

    • ファイル UserControl1.xaml が WPF Designer for Visual Studio で開かれます。

  2. デザイン ビューで UserControl1 が選択されていることを確認します。

  3. [プロパティ] ウィンドウで、Width プロパティおよび Height プロパティの値を 200 に設定します。

  4. ツールボックスから、System.Windows.Controls.TextBox コントロールをデザイン画面にドラッグします。

  5. [プロパティ] ウィンドウで、Text プロパティの値を [ホストするコンテンツ] に設定します。

    注意

    一般的には、もう少し高度な WPF コンテンツをホストしてください。 ここでは、説明する目的でのみ System.Windows.Controls.TextBox コントロールを使用しています。

  6. プロジェクトをビルドします。

WPF コントロールを Windows フォームに追加する

新しい WPF コントロールは、フォームで使用可能な状態です。 Windows フォームでは、ElementHost コントロールを使用して、WPF コンテンツがホストされます。

WPF コントロールを Windows フォームに追加するには:

  1. Windows フォーム デザイナーで Form1 を開きます。

  2. ツールボックスで、 [WPFUserControlLibrary WPF ユーザー コントロール] というラベルの付いたタブを探します。

  3. UserControl1 のインスタンスをフォームにドラッグします。

    • WPF コントロールをホストするためのフォームの上に、ElementHost コントロールが自動的に作成されます。

    • ElementHost コントロールに elementHost1 という名前が付き、 [プロパティ] ウィンドウで Child プロパティが UserControl1 に設定されていることが確認できます。

    • WPF アセンブリへの参照がプロジェクトに追加されます。

    • elementHost1 コントロールに、使用可能なホスティング オプションを示すスマート タグ パネルがあります。

  4. ElementHost タスクのスマート タグ パネルで、 [親コンテナーにドッキング] を選択します。

  5. F5 キーを押してアプリケーションをビルドし、実行します。

次のステップ

Windows フォームと WPF は異なるテクノロジですが、密接に相互運用するよう設計されています。 アプリケーションに高度な外観と動作を提供するには、次の手順を実行します。

関連項目