.NETを使ってWindowsアプリケーションを作成する際に「Windows Form」では不自由だ!‥と思い始めたあたりで耳にし始める「WPF」。
触ってみようと思いつつまだ全然触れていませんが、とりあえず色々とググってみて良さそうなページをいくつか見つけたので、後々のために列挙しておきたいと思います。
投稿日は2016年8月。
かなりのボリュームの学習用PDFが3つ公開されています。
投稿日は2017年5月。
投稿日不明。
投稿日は2018年6月とかなり新しめ。
投稿日は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パターン