ゲームエフェクトデザイナーのブログ | A Real-Time VFX Artist's Blog

About Making Materials on UE, Making Tools with C#, etc

WPF導入に良さそうな情報まとめ

.NETを使ってWindowsアプリケーションを作成する際に「Windows Form」では不自由だ!‥と思い始めたあたりで耳にし始める「WPF」。

触ってみようと思いつつまだ全然触れていませんが、とりあえず色々とググってみて良さそうなページをいくつか見つけたので、後々のために列挙しておきたいと思います。

 投稿日は2016年2月。
ざっくりと解説されています。

 

» WPF 学習用ドキュメント作りました

投稿日は2016年8月。
かなりのボリュームの学習用PDFが3つ公開されています。

 

投稿日は2017年5月。

 

投稿日不明。

 

 投稿日は2014年4月と古め。

 

投稿日は2018年6月とかなり新しめ。

 

WPF 入門シリーズの目次

投稿日は2017年3月。
各コントロールの説明とサンプルあり。

 

以下、書きかけのメモ。

 

WPFの特徴

・「Windows Presentation Foundation」の略
.NET Frameworkに含まれるGUI開発ライブラリ
 ・なのでC#VBで利用できる
Windowsアプリケーションを作成できる
C#GUIを作成する場合に使うテンプレートの一種
GUIを柔軟にカスタマイズできるなどの点で便利
・UIをベクターで描画するため拡大縮小や回転が可能


▼UIとデータの分離
 XAMLでUIと何を表示するかを記述し、.CSでデータ(ロジック)を記述する
 XAMLは「Extensible Application Markup Language」の略
 XMLベース HTMLに似た感覚でGUIをデザインできる
 作業の分担
 「何を表示するか」を紐付けるのがバインディング


▼宣言型
 XAMLには「何をしたいか」を記述、それがどのように実現されるかは問わない

▼リストの仮想化
 「何をしたいか」の大元は変わらず、それに「仮想的に表示する」というのを付け加えるだけでOK

バインディング


アーキテクチャ
・MVVM(Model-View-ViewModel)パターン
 モデル、ビュー、ビューモデルの3つの部分に分割して実装する
 ・モデル    データの不整合を検証する処理やデータベースとのデータのやりとりを実装する部分
 ・ビュー    外観デザインを実装する部分
         XAMLファイルが該当
 ・ビューモデル ビューを描画するためのデータの保持と、ビューからの入力をモデルに伝達する部分
         CSファイルが該当

MVCパターン