.net column

.NET開発者のためのブログメディア
デスクトップアプリ

【WPF入門】デスクトップアプリケーションが作成できるUI「WPF」とは

2020年02月03日

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の開発の流れは、従来のコード開発と比べると少し複雑な側面を持っています。しかし、慣れてしまえば逆にデータ部と外観部との切り分けがされているため、開発が容易にできるのが特徴です。また、応用の幅や可能性も広がるので、より柔軟なプログラムを作りたいならばマスターしておくと良いでしょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)