次の方法で共有


Office ソリューションでの WPF コントロールの使用

Visual Studio の Office 開発ツールを使用して作成されたソリューションは、Windows フォーム コントロールを使用して直接操作することを前提としていますが、ソリューションで WPF コントロールを使用することもできます。 Windows Presentation Foundation (WPF) は、ユーザー インターフェイスをデザインするときに Windows フォームの代わりとして使用できます。 WPF では、UI、メディア、および文書を取り込むための新しい手法として、Extensible Application Markup Language (XAML) というマークアップ言語を使用します。 詳細については、「WPF の概要」を参照してください。

対象: このトピックの情報は、Microsoft Office 2010 および 2007 Microsoft Office system のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。 詳細については、「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 コントロールを追加するには

  1. カスタム作業ウィンドウ、操作ウィンドウ、またはフォーム領域を追加するプロジェクトを開きます。

  2. プロジェクトにユーザー コントロール (WPF) アイテムを追加します。

  3. [ツールボックス] から WPF ユーザー コントロールのデザイン画面に WPF コントロールを追加します。

    既定では、WPF ユーザー コントロール デザイナーを開くと、[ツールボックス] には WPF コントロールだけが含まれています。

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

  5. 操作ウィンドウ、フォーム領域、またはカスタム作業ウィンドウをプロジェクトに追加します。

  6. [ツールボックス][ProjectName WPF ユーザー コントロール] タブから、操作ウィンドウ、フォーム領域、またはカスタム作業ウィンドウのデザイナーに WPF ユーザー コントロールをドラッグします。

    UI 要素内の WPF ユーザー コントロールをホストする ElementHost オブジェクトが自動的に作成されます。

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

ドキュメント レベルのプロジェクト内の文書またはワークシートに WPF コントロールを追加するには

  1. Word または Excel のドキュメント レベルのプロジェクトを開きます。

  2. プロジェクトにユーザー コントロール (WPF) アイテムを追加します。

  3. [ツールボックス] から WPF ユーザー コントロールのデザイン画面に WPF コントロールを追加します。

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

  5. ユーザー コントロール アイテム (Windows フォーム ユーザー コントロール) をプロジェクトに追加します。

  6. Windows フォーム ユーザー コントロールのデザイナーを開きます。

  7. [ツールボックス][ProjectName WPF ユーザー コントロール] タブからデザイナーに WPF ユーザー コントロールをドラッグします。

    Windows フォーム ユーザー コントロール内の WPF ユーザー コントロールをホストする ElementHost オブジェクトが自動的に作成されます。

  8. Windows フォーム ユーザー コントロールを文書またはブックにプログラムで追加するコードを作成します。 詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。

    注意

    Windows フォーム ユーザー コントロールをデザイナー上の文書またはワークシートにドラッグすることはできません。

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

ElementHost クラスによる WPF コントロールのホスト

Visual Studio には Office ソリューションで Windows フォーム コントロールを使用できるようにする機能がありますが、WPF コントロールを対象とする同様の機能はありません。 たとえば、Windows フォーム コントロールは、デザイン時には [ツールボックス] からのドラッグによって、また実行時にはヘルパー メソッドを使用して、文書やワークシートに追加できます。 それに対し、これらの機能は WPF コントロールには使用できません。

WPF コントロールでは、Windows フォーム コントロールまたはフォームと WPF コントロールとの間の統合レイヤーとして ElementHost クラスを使用します。 デザイン時に WPF コントロールをソリューションに追加すると、ElementHost オブジェクトが自動的に作成されます。 ElementHost クラスをプログラムで使用する方法を説明するチュートリアルについては、「方法: ElementHost を使用し、Windows フォームで WPF コントロールをホストする」を参照してください。

WPF リソース

Windows フォーム コントロールおよびフォーム上での WPF のホストに関連するアーキテクチャおよびデザイン上の問題の詳細については、以下のトピックを参照してください。

Visual Studio でデザイン時に WPF コントロールを Windows フォーム コントロールおよびフォームに追加する方法の詳細については、以下のトピックを参照してください。

参照

処理手順

方法 : Word 文書に操作ウィンドウを追加する

方法 : Excel ブックに操作ウィンドウを追加する

方法 : カスタム作業ウィンドウをアプリケーションに追加する

方法 : フォーム領域を Outlook アドイン プロジェクトに追加する

概念

Office UI のカスタマイズ

Office ドキュメントでの Windows フォーム コントロールの概要

操作ウィンドウの概要

カスタム作業ウィンドウの概要

Outlook フォーム領域の作成