コードジンのヘッダーが入ります Developers Summit 2009

マイクロソフト株式会社

【12-D-2】WPFアプリケーション開発
マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部エバンジェリスト 高橋 忍

高速・高品質な描画の実現に向けマイクロソフトが提供する新技術「WPF(Windows Presentation Foundation)」。その活用により、開発者はアプリケーションにおいてこれまでにない高度なユーザーエクスペリエンスを手軽に提供することが可能になる。開発についても、WinFormベースの開発において使い慣れた各種コントロールがWPFに対応し拡張された形で用意されており、従来のノウハウを十分に活用できる。

WinForm開発の既存ノウハウを活かし WPFでの開発を行う際のポイントとは

Windows Vistaでも標準採用され、プレゼンテーション技術にパラダイムシフトをもたらすものとして注目されている「WPF(Windows Presentation Foundation)」。「WPFによって実現される高速・高品質な描画は、3Dやビデオのアプリケーションに限らず、一般的な業務アプリケーションにおいても、その“底力”を強化するものといえます」とマイクロソフトの高橋忍氏は語る。例えば、大量のデータを表示した画面のスクロール処理などが全くちらつくことなく行えることは、ユーザーエクスペリエンスの観点からは大きな利点である。今後、まさしくそのような意味で、アプリケーション開発のベースも現行のWinFormからWPFへと移行していくのが自然な流れだといえる。

WinFormでの開発の延長線上で より高度なインターフェイスを実現

WinFormからWPFへの移行にあたって、重要なポイントとなるのがWPFにおいてもWinFormとほぼ同等のコントロールが用意されているということだ。具体的には、FormやUserControlをはじめ、Button、CheckBox、RadioButton、TextBoxなどのコントロールがそのまま利用できるようになっている。

「重要なのは、それらコントロール自体が、WPFの恩恵を活かした形で大幅に拡張されているということ。これにより、こまれで“職人芸”を要したような高度なインターフェイスの実装が容易に行えるようになっています」と高橋氏は説明する。従来、テキストが使われていたListBoxやComboBoxのアイテムとして画像を利用したアプリケーションの例を実際に示した。

ここで留意しなければならないのが、ダイアログについてだ。基本的にWPFにはウインドウという概念が存在しないため、コントロールとしては用意されていない。「ただし、OpenFileDialog、SaveFileDialogなどは、Presentation Frameworkに実装されています。今後はこれらを参照して、開発するアプリケーションに合ったダイアログというものを検討し、自前で実装していくのが望ましいアプローチだと考えます」と高橋氏は語る。

またWPFでは、標準で提供されているコントロールのデザインを自在に変えることができるのも大きな特徴の1つとなっている。そのために用意されているのがスタイルとテンプレートだ。スタイルではプロパティをまとめて管理することができる機能を、テンプレートではコントロールなどの概観を変更することができる機能をそれぞれ提供している。

特にスタイルに関しては、上位での設定がその下位のオブジェクトにも継承される仕組みとなっている。そのためグループ化して設定することができるほか、スタイルに名前をつけて個々のコントロールからスタイルを選んで設定することも可能である。

一方、WPFではコントロールと、クラスやXMLで用意したデータを紐付けるためのデータバインドという機能も用意されている。これにより、例えばSliderコントロールのプロパティの値をTextBoxコントロールのプロパティに紐付けて値を表示するといった処理も手軽に実装できるようになっている。

「このようにWPFでの開発では、WinFormにおける開発の延長線上にありながら、より高度なインターフェイスを手軽に実現できる多彩な仕組みが用意されています。まずは、実際に体験していただければと考えます」と高橋氏は語った。

図1:WPFにおけるスタイルのスコープ。スタイルは、より上位で適応された設定が継承される仕組みとなっている
問い合わせ先
マイクロソフト株式会社
マイクロソフト カスタマー
インフォメーション センター
TEL: 0120-41-6755
(9:30~12:00/13:00~19:00 土日祝日、弊社指定休業日を除きます)
戻る
コードジンのフッターが入ります