次の方法で共有


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

更新 : 2007 年 11 月

Windows Presentation Foundation (WPF) は、ユーザー インターフェイスをデザインするときに Windows フォームの代わりとして使用できます。WPF では、UI、メディア、および文書を取り込むための新しい手法として、Extensible Application Markup Language (XAML) というマークアップ言語を使用します。詳細については、「Windows Presentation Foundation の概要」を参照してください。

Visual Studio Tools for Office ソリューションは Windows フォーム コントロールの使用を前提としていますが、WPF コントロールを使用することもできます。Visual Studio Tools for Office ソリューションの Windows フォーム コントロールをホストする UI 要素は、WPF コントロールもホストできます。そうした UI 要素には次のようなものがあります。

  • ドキュメント レベルのカスタマイズに含まれる文書およびワークシート

  • ドキュメント レベルのカスタマイズに含まれる操作ウィンドウ

  • アプリケーション レベルのアドインに含まれるカスタム作業ウィンドウ

  • Outlook 用のアプリケーション レベルのアドイン内のフォーム領域

デザイン時における Visual Studio Tools for Office プロジェクトへの WPF コントロールの追加

Visual Studio Tools for 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 ドキュメントへのコントロールの追加」を参照してください。

    Bb772076.alert_note(ja-jp,VS.90).gifメモ :

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

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

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

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

WPF コントロールでは、Windows フォーム コントロールまたはフォームと WPF コントロールとの間の統合レイヤとして ElementHost クラスを使用します。ElementHost クラスは、.NET Framework Version 3.0 以降に含まれています。

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

WPF リソース

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

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

参照

処理手順

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

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

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

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

概念

Office UI のカスタマイズ

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

操作ウィンドウの概要

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

Outlook フォーム領域の作成