チュートリアル : ElementHost コントロールの別の Windows フォームへのコピーと貼り付け
このチュートリアルでは、Windows Presentation Foundation (WPF) コントロールを Windows フォーム間でコピーする方法について説明します。
このチュートリアルでは次のタスクを行います。
プロジェクトを作成します。
WPF コントロールをコピーします。
注意
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「設定の操作」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
- Visual Studio 2010.
プロジェクトの作成
まず、Windows フォーム プロジェクトを作成します。
注意
WPF コンテンツをホストする場合は、C# プロジェクトと Visual Basic プロジェクトのみがサポートされます。
プロジェクトを作成するには
- CopyElementHost という名前の新しい Windows フォーム プロジェクトを Visual Basic または Visual C# で作成します。 詳細については、「方法: 新しい Windows フォーム アプリケーション プロジェクトを作成する」を参照してください。
WPF コントロールのコピー
プロジェクトに追加された WPF コントロールは、プロジェクト内のフォーム間でコピーできます。
WPF コントロールをコピーするには
新しい WPF UserControl プロジェクトをソリューションに追加します。 名前はこのコントロール型の既定である UserControl1.xaml を使用します。 詳細については、「チュートリアル: デザイン時の Windows フォームでの新しい WPF コンテンツの作成」を参照してください。
プロジェクトをビルドします。
Windows フォーム デザイナーで Form1 を開きます。
[ツールボックス] から UserControl1 のインスタンスをフォームにドラッグします。
UserControl1 のインスタンスは、elementHost1 という名前の ElementHost コントロールでホストされます。
elementHost1 が選択された状態で Ctrl キーを押しながら C キーを押して、クリップボードにコピーします。
新しい Windows フォームがプロジェクトに追加されます。 名前は Form2 フォーム型の既定を使用します。 詳細については、「方法 : プロジェクトに Windows フォームを追加する」を参照してください。
Form2 が Windows フォーム デザイナーで開かれている状態で Ctrl キーを押しながら V キーを押して、elementHost1 のコピーをフォームに貼り付けます。
コピーされたコントロールの名前も elementHost1 となりますが、これは Form2 クラスのプライベート フィールドであるためです。 Form1 クラスの elementHost1 との名前の競合は生じません。