
【WPF入門】デスクトップアプリケーションが作成できるUI「WPF」とは
WPFはWindows Presentation Foundationの略で、GUI(グラフィカルユーザーインターフェイス)を作成することが出来るUIサブシステムです。フレームワークは.NET Frameworkを利用しているため、同じフレームワークを利用するASP.NETやWindows Formsなどと共通した部分を持っています。
- SE
- WPFってどんなことができるんですか?
- PM
- フォームやボタンを含んだWindowsアプリケーションが開発できます。Windows Formsなどとは似て非なるものなので、さっそくどんなものかを見ていきましょう。
目次
WPFの概要
WPFはXAML(Extensible Application Markup Language)という言語を用いて外観をデザインします。XMLと形式が同じなので、HTML になじみがあれば感覚的には近いものを感じるでしょう。
処理部分の実装はC#で記述して、フォーム部分とのデータバインディングを行います。このように、外観と処理部分を分けて開発することになるので、プロジェクト形式での開発の切り分けにおいて、デザイン部分と処理部分の役割分担もしやすいです。
WPFの特徴
WPFでは、BindingとMVVMパターンという2つの特徴を持っています。Bindingは外観部分にデータを表示する場合などに、「データをここに表示する」という目印をつけておき、データそのものは別のファイルから引っ張ってくるやり方です。
MVVMパターンは、Model-View-ViewModelパターンの略で、データ部とのやり取りや整合チェックをするモデル、外観部分のビュー、データ部とビューの伝達を行うビューモデルによって切り分けられています。
WPFの使い方
WPFを実際に使う場合には、主にVisual Studioを利用することが多いでしょう。データの整合チェックなどはもちろんのこと、外観のデザイン作成が容易に行えるので、コードを直接打っていくやり方よりは、格段にエラーが少なくなります。
Visual Studioでは、新規作成タブからプロジェクト選択時に空のWPFアプリケーションを自動で作成することが出来るので、あとは外観と処理部分を実装していくだけです。
おおまかなコード作成の流れは、「外観部分のデザイン→データ部のクラスを作成→データ部のクラスをコンストラクタでインスタンス化して表示」といった具合です。
- SE
- 少しコード同士の連携の仕方がわかりづらい印象ですね。
- PM
- 慣れるまでは少し時間が掛かるかもですが、Windows Formsよりもできることも多いので、概念をつかんでいくと良いですよ。
WPFは慣れれば開発が容易
WPFの開発の流れは、従来のコード開発と比べると少し複雑な側面を持っています。しかし、慣れてしまえば逆にデータ部と外観部との切り分けがされているため、開発が容易にできるのが特徴です。また、応用の幅や可能性も広がるので、より柔軟なプログラムを作りたいならばマスターしておくと良いでしょう。