Windows Presentation Foundation (WPF) は.NET Framework 3.0に含まれるユーザインタフェースサブシステムである。 WPFは、ユーザインタフェースとロジックを明確に区別する一貫したプログラミングモデルを提供する。 WPFアプリケーションはデスクトップで実行するだけでなくウェブブラウザ上で配置・実行することができる。 WPFによって、ユーザインタフェース、2Dおよび3Dオブジェクトの描画、ベクトルグラフィックス、ラスタグラフィックス、 アニメーション、音声および動画の再生などといった表現手法を統一的に利用することができる。
.NET Framework 3.0はWindows Vistaにプリインストールされており、Windows XP SP2およびWindows Server 2003でも利用できる。
目次
1 特徴
1.1 グラフィックス
1.2 配置
1.3 相互運用性
1.4 マルチメディア
1.5 データバインディング
1.6 ユーザインタフェース
2 関連項目
3 外部リンク
//
次に示すのはWPFの特徴の一部である。
グラフィックス
ウインドウを含め、全てのグラフィックスはDirect3Dを介して描画される。
これにより、高度なグラフィックを単一の方法で利用することができる。
Direct3Dを通して描画することにより、ビデオカード上のGPUに描画処理を任せることが可能になる。これはCPUの負荷を軽減することにつながる。
ベクトルグラフィックスをサポートする。これは損失のない拡大縮小を可能にする。
3Dモデルのレンダリングや相互作用をサポートする。
配置
WPFは通常のスタンドアローンアプリケーションだけでなく、XAMLブラウザアプリケーション (XBAP) として配置することもできる。
スタンドアローンアプリケーションはClickOnceやMicrosoft Windows Installer (MSI) などのインストーラによってローカルコンピュータ上に配置されるアプリケーションである。
XAMLブラウザアプリケーション (XBAP) はInternet Explorerなどのウェブブラウザによってホストされるアプリケーションである。コンピュータリソースへのアクセスやWPFの機能は一部制限される。
相互運用性
WPFはWin32との相互運用機能を提供する。Win32のコード内からWPFを利用することも、WPFからWin32のコードを利用することも可能である。
Windows Formsとの相互運用も可能である(ElementHost、WindowsFormsHostクラス)。
マルチメディア
WPFはブラシ、ペン、幾何図形、変形などの基本的な2Dグラフィックス機能を提供する。
WPFで提供される3D機能はDirect3Dのサブセットである。しかし、WPFではよりユーザインタフェース (UI) などの要素に密接に利用することができる。これによって3DのUI、文書、メディアなどが可能になる。
一般的な画像フォーマットをサポートする。
WMV、MPEG、AVIフォーマットの動画をサポートする。
時間ベースのアニメーションをサポートする。これはシステムのパフォーマンスに依存せずアニメーションのスピードを一定に保つ。
ClearTypeを利用したテキストレンダリングをサポートする。また、OpenTypeフォントの機能もサポートする。
データバインディング
WPFは次に示す3種類のデータバインディングをサポートする。
one time: クライアントはサーバ上のアップデートを無視する。
one way: クライアントはデータに対して書込み禁止の権限をもつ。
two way: クライアントは読み込みと書き込み両方の権限をもつ。
ユーザインタフェース
ボタン、メニュー、リストボックスなどといった基本的な組み込みコントロールが提供される。
WPFの強力な点として、ロジックとインタフェースを完全に切り離すことができる。
関連項目
Microsoft Silverlight
Adobe Integrated Runtime