Office ソリューションでの WPF コントロールの使用
Visual Studio の Office 開発ツールを使用して作成されたソリューションは、Windows フォーム コントロールを使用して直接操作することを前提としていますが、ソリューションで WPF コントロールを使用することもできます。Windows Presentation Foundation (WPF) は、ユーザー インターフェイスをデザインするときに Windows フォームの代わりとして使用できます。WPF では、UI、メディア、および文書を取り込むための新しい手法として、Extensible Application Markup Language (XAML) というマークアップ言語を使用します。詳細については、「WPF の概要」を参照してください。
対象: このトピックの情報は、Office 2013 および Office 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
Office ソリューションの Windows フォーム コントロールをホストする UI 要素は、WPF コントロールもホストできます。そうした UI 要素には次のようなものがあります。
ドキュメント レベルのカスタマイズに含まれる文書およびワークシート
ドキュメント レベルのカスタマイズに含まれる操作ウィンドウ
アプリケーション レベルのアドインに含まれるカスタム作業ウィンドウ
Outlook 用のアプリケーション レベルのアドイン内のフォーム領域
関連のビデオ デモについては、「How Do I: Use WPF Controls Inside an Excel Actions Pane? (操作方法: Excel 操作ウィンドウ内の WPF コントロールを使用する)」を参照してください。
デザイン時における Office プロジェクトへの WPF コントロールの追加
Office ソリューションの UI 要素に WPF コントロールを直接追加することはできません。直接追加する代わりに、ユーザー コントロール (WPF) アイテムをプロジェクトに追加し、それを WPF コントロールのデザイン画面として使用します。次に、WPF ユーザー コントロールをプロジェクトの UI 要素に追加します。
操作ウィンドウ、カスタム作業ウィンドウ、またはフォーム領域に WPF コントロールを追加するには
カスタム作業ウィンドウ、操作ウィンドウ、またはフォーム領域を追加するプロジェクトを開きます。
プロジェクトにユーザー コントロール (WPF) アイテムを追加します。
[ツールボックス] から WPF ユーザー コントロールのデザイン画面に WPF コントロールを追加します。
既定では、WPF ユーザー コントロール デザイナーを開くと、[ツールボックス] には WPF コントロールだけが含まれています。
プロジェクトをビルドします。
操作ウィンドウ、フォーム領域、またはカスタム作業ウィンドウをプロジェクトに追加します。
フォーム領域の場合は、プロジェクトに Outlook フォーム領域アイテムを追加します。詳細については、「方法 : フォーム領域を Outlook アドイン プロジェクトに追加する」を参照してください。
操作ウィンドウの場合は、プロジェクトに操作ウィンドウ コントロール アイテムまたはユーザー コントロール アイテムを追加します。詳細については、「方法: Word 文書または Excel ブックに操作ウィンドウを追加する」および「方法: Word 文書または Excel ブックに操作ウィンドウを追加する」を参照してください。
カスタム作業ウィンドウの場合は、プロジェクトにユーザー コントロール アイテムを追加します。詳細については、「方法 : カスタム作業ウィンドウをアプリケーションに追加する」を参照してください。
[ツールボックス] の [ProjectName WPF ユーザー コントロール] タブから、操作ウィンドウ、フォーム領域、またはカスタム作業ウィンドウのデザイナーに WPF ユーザー コントロールをドラッグします。
UI 要素内の WPF ユーザー コントロールをホストする ElementHost オブジェクトが自動的に作成されます。
プロジェクトを再ビルドします。
ドキュメント レベルのプロジェクト内の文書またはワークシートに WPF コントロールを追加するには
Word または Excel のドキュメント レベルのプロジェクトを開きます。
プロジェクトにユーザー コントロール (WPF) アイテムを追加します。
[ツールボックス] から WPF ユーザー コントロールのデザイン画面に WPF コントロールを追加します。
プロジェクトをビルドします。
ユーザー コントロール アイテム (Windows フォーム ユーザー コントロール) をプロジェクトに追加します。
Windows フォーム ユーザー コントロールのデザイナーを開きます。
[ツールボックス] の [ProjectName WPF ユーザー コントロール] タブからデザイナーに WPF ユーザー コントロールをドラッグします。
Windows フォーム ユーザー コントロール内の WPF ユーザー コントロールをホストする ElementHost オブジェクトが自動的に作成されます。
Windows フォーム ユーザー コントロールを文書またはブックにプログラムで追加するコードを作成します。詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。
[!メモ]
Windows フォーム ユーザー コントロールをデザイナー上の文書またはワークシートにドラッグすることはできません。
プロジェクトを再ビルドします。
ElementHost クラスによる WPF コントロールのホスト
Visual Studio には Office ソリューションで Windows フォーム コントロールを使用できるようにする機能がありますが、WPF コントロールを対象とする同様の機能はありません。たとえば、Windows フォーム コントロールは、デザイン時には [ツールボックス] からのドラッグによって、また実行時にはヘルパー メソッドを使用して、文書やワークシートに追加できます。それに対し、これらの機能は WPF コントロールには使用できません。
WPF コントロールでは、Windows フォーム コントロールまたはフォームと WPF コントロールとの間の統合レイヤーとして ElementHost クラスを使用します。デザイン時に WPF コントロールをソリューションに追加すると、ElementHost オブジェクトが自動的に作成されます。
WPF リソース
Windows フォーム コントロールおよびフォーム上での WPF のホストに関連するアーキテクチャおよびデザイン上の問題の詳細については、以下のトピックを参照してください。
Visual Studio でデザイン時に WPF コントロールを Windows フォーム コントロールおよびフォームに追加する方法の詳細については、以下のトピックを参照してください。
参照
処理手順
方法: Word 文書または Excel ブックに操作ウィンドウを追加する
方法: Word 文書または Excel ブックに操作ウィンドウを追加する
方法 : カスタム作業ウィンドウをアプリケーションに追加する
方法 : フォーム領域を Outlook アドイン プロジェクトに追加する
概念
Office ドキュメントでの Windows フォーム コントロールの概要