アプリケーション開発の概要

更新 : 2007 年 11 月

Windows Presentation Foundation (WPF) は、次の種類のアプリケーションの作成をサポートします。

  • スタンドアロン アプリケーション (クライアント コンピュータにインストールし、そこから実行できる実行可能アセンブリとしてビルドされた従来スタイルの Windows アプリケーション)。

  • XAML ブラウザ アプリケーション (XBAP) (Windows Internet Explorer によってホストされる閲覧可能な実行可能アセンブリとしてビルドされた移動可能ページで構成されるアプリケーション)。

  • カスタム コントロール ライブラリ (再利用可能なコントロールを含む非実行可能アセンブリ)。

  • クラス ライブラリ (再利用可能なクラスを含む非実行可能アセンブリ)。

メモ :

WPF を使用して Windows サービスをビルドする機能はサポートされていません。WPF は表示形式のテクノロジであるため、Windows サービスは、ユーザーによる操作を伴うビジュアル操作を実行するために適切なアクセス許可を必要とします。Windows サービスが適切なアクセス許可を持たない場合、予期しない結果になることがあります。

この一連のアプリケーションをビルドするため、WPF は多数のサービスを実装します。このトピックでは、これらのサービスの概要を説明し、詳細情報へのリンクを示します。

このトピックには次のセクションが含まれています。

  • アプリケーション管理
  • WPF アプリケーションのリソース ファイル、コンテンツ ファイル、およびデータ ファイル
  • ウィンドウとダイアログ ボックス
  • ナビゲーション
  • ホスト
  • ビルドと配置
  • アプリケーションのパフォーマンス
  • 関連トピック

アプリケーション管理

実行可能 WPF アプリケーションは、一般に次のコアな機能セットを必要とします。

  • 共通アプリケーション インフラストラクチャを作成し、これを管理する (エントリ ポイント メソッドと、システム メッセージおよび入力メッセージを受け取るための Windows メッセージ ループの作成を含む)。

  • アプリケーションの有効期間を追跡し、これと相互作用する。

  • コマンド ライン パラメータを取得し、処理する。

  • アプリケーション スコープのプロパティと UI リソースを共有する。

  • 未処理の例外を検出し、これを処理する。

  • 終了コードを返す。

  • スタンドアロン アプリケーションのウィンドウを管理する。

  • XAML ブラウザ アプリケーション (XBAP) や、ナビゲーション ウィンドウとフレームを持つスタンドアロン アプリケーションで、ナビゲーションを追跡する。

これらの機能は、Application クラスによって実装されます。このクラスをアプリケーションに追加するには、アプリケーション定義を使用します。Application には、次の機能があります。

詳細については、「アプリケーション管理の概要」を参照してください。

WPF アプリケーションのリソース ファイル、コンテンツ ファイル、およびデータ ファイル

WPF は、埋め込みリソースを扱う Microsoft .NET Framework のコア サポートを利用および拡張して、リソース ファイル、コンテンツ ファイル、データ ファイルの 3 種類の非実行可能データ ファイルのサポートを追加します。

詳細については、「Windows Presentation Foundation アプリケーションのリソース、コンテンツ、およびデータ ファイル」を参照してください。

WPF 非実行可能データ ファイル サポートの重要なコンポーネントは、一意の URI を使用してこれらのファイルを識別し、読み込む機能です。

詳細については、「Windows Presentation Foundation におけるパッケージの URI」を参照してください。

ウィンドウとダイアログ ボックス

ユーザーは、ウィンドウをとおして WPF スタンドアロン アプリケーションとやり取りします。ウィンドウの目的は、アプリケーションのコンテンツをホストし、コンテンツとやり取りするためにユーザーが利用できるアプリケーション機能を公開することです。WPF では、ウィンドウは Window クラスにカプセル化されます。このクラスは、次の機能を備えています。

  • ウィンドウを作成し、表示する。

  • 所有者と所有先ウィンドウの関係を確立する。

  • ウィンドウの外観を構成する (サイズ、位置、アイコン、タイトル バーのテキスト、境界など)。

  • ウィザードの有効期間を追跡し、これと相互作用する。

詳細については、「WPF ウィンドウの概要」を参照してください。

Window は、ダイアログ ボックスと呼ばれる特別な種類のウィンドウを作成できます。モーダル ダイアログ ボックスとモードレス ダイアログ ボックスの両方の種類のダイアログ ボックスを作成できます。

使いやすさ、再利用性の利点、およびアプリケーション全体の操作性の統一のため、WPF からは共通 Windows ダイアログ ボックスとして OpenFileDialogSaveFileDialog、および PrintDialog が提供されます。

メッセージ ボックスは、重要な情報をテキストでユーザーに表示し、単純な [はい]、[いいえ]、[OK]、[キャンセル] の応答を求めるために使用する特別なダイアログ ボックスです。メッセージ ボックスを作成して表示するには、MessageBox クラスを使用します。

詳細については、「ダイアログ ボックスの概要」を参照してください。

ナビゲーション

WPF は、ページ (Page) とハイパーリンク (Hyperlink) を使用する Web スタイルのナビゲーションをサポートしています。ナビゲーションは、次のようなさまざまな方法で実装できます。

  • Internet Explorer でホストされるスタンドアロンのページ。

  • Internet Explorer でホストされる XBAP にコンパイルされるページ。

  • スタンドアロン アプリケーションにコンパイルされ、ナビゲーション ウィンドウ (NavigationWindow) によってホストされるページ。

  • フレーム (Frame) によってホストされるページ。フレームは、スタンドアロン ページか、XBAP またはスタンドアロン アプリケーションにコンパイルされたページにホストされることがあります。

ナビゲーションに役立つように、次の機能が WPF に実装されます。

  • アプリケーション内ナビゲーションをサポートするために FrameNavigationWindow、および XBAP で使用される、ナビゲーション要求処理用の共有ナビゲーション エンジンである NavigationService

  • ナビゲーションを開始するために使用するナビゲーション メソッド。

  • ナビゲーションの有効期間を追跡し、これと相互作用するために使用するナビゲーション イベント。

  • 前方や後方へのナビゲーションには履歴が使用されます。履歴の情報は、調べたり操作したりすることもできます。

詳細については、「ナビゲーションの概要」を参照してください。

WPF は、構造化ナビゲーションと呼ばれる特別な種類のナビゲーションもサポートしています。構造化ナビゲーションは、呼び出し元関数との一貫性が保たれた、構造化されて予測の可能な形式でデータを返す 1 つ以上のページを呼び出すために使用できます。この機能は PageFunction<T> クラスに依存します。このクラスの詳細については、「構造化ナビゲーションの概要」を参照してください。また、PageFunction<T> は、複雑なナビゲーション トポロジの作成を簡略化するためにも役立ちます。詳細については、「ナビゲーション トポロジの概要」を参照してください。

ホスト

XBAP は、Microsoft Internet Explorer 6、Windows Internet Explorer 7、または Microsoft Windows Media Center (WMC) でホストできます。ホストのモデルによって考慮事項や制約が異なります。詳細については、「Windows Presentation Foundation アプリケーションのホスト」を参照してください。

ビルドと配置

単純な WPF アプリケーションはコマンド ライン コンパイラを使用してコマンド プロンプトでビルドできますが、WPF に統合されている Microsoft ビルド エンジン (MSBuild) を利用すると、開発とビルドのプロセスを簡略化するための追加サポートを使用できます。詳細については、「WPF アプリケーション (WPF) のビルド」を参照してください。

ビルドするアプリケーションの種類によって、選択する配置オプションが異なります。詳細については、「WPF アプリケーションの配置 (WPF)」を参照してください。

アプリケーションのパフォーマンス

WPF 固有のパフォーマンスに関する考慮事項については、「WPF アプリケーションのパフォーマンスの最適化」を参照してください。

参照

概念

Windows Presentation Foundation の概要

Windows Presentation Foundation の概要