Gaming Life

一日24時間、ゲームは10時間

WPF勉強中(1)最初に参考にした資料とか疑問点とか

前回の記事以来、時間を見つけてはWPFの学習を進めている。しかし、ただ黙々と一人学習していてもモチベが続かないので、定期的にブログで進捗や参考にしている資料、疑問点を文章化していこうと思う。

参考にしている資料

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

最初の学習に利用した資料。「WPF 入門」「WPF 実践」「WPF 逆引き集」の内、「WPF 実践」しか読んでないが、非常に良かった。私はあるフレームワークを最初に学ぶ時、参考コードの設計をやたら気にしてしまうタイプなのだが、この資料のサンプルコードはMVVMのスタイルを守っているので、かなり肌にあっていた。

  • WPF 4.5入門

www.slideshare.net

日本語でWPFについて調べると、必ずヒットする「かずきのBlog@hatena」の著者が執筆した、WPFの入門資料。全部は読んでないが、ざっと流し見した感じ、WPFの機能について順を追って丁寧に説明されており良さげ。何より現役マイクロソフト社員が作成した資料ということもあり、信頼ができる。

特に参考になったのは「6.2 データバインディングを前提としたプログラミングモデル」の章。MVVMライブラリであるPrismの簡単な使い方が学べた。

  • XAML Controls Gallery

www.microsoft.com

マイクロソフト謹製、XAMLのサンプルをまとめたアプリ。このコントロールでどんな表現ができるのだろう、と確認したい時によく使う。ただ問題点が一つありまして(後述)……

github.com

マイクロソフト謹製のWPFのサンプル集。大量のサンプルコードが公開されている。MVVMデザインは(見た限り)無視して、初学者に理解しやすい形でコーディングされてるっぽい。

作ったもの

f:id:ai_gaminglife:20200721011956g:plain 実用性は皆無の習作。一応MVVMを意識してコーディングした。

疑問点

どうもXAML Controls Galleryは、UWP(WPFの後継的扱いのライブラリ)で作られているっぽい。一応下記の手順で、UWPのコントロールWPFで扱うことはできるらしいのだが、うまくいかなかった。その内リベンジしたい。

docs.microsoft.com

  • Prism(もしくはLivet)の使い方

「WPF4.5入門」で、BindableBaseとDelegateCommandの使い方は大体把握したが、それ以外はまだからっきし。WPFでそこそこの規模のアプリケーションを作るなら、PrismやLivetといったMVVMフレームワークを使うのが普通らしいので、使えるようにしたい。どこかにサンプル無いかなあ。

  • データの永続化

SQ Liteとかでデータを永続化できるらしいけど……外に公開するようなツールを作る、という段階まで来たらこれも意識しなきゃ駄目っぽい。まだそこまで出来そうにないので優先度は低め。

まとめ

というわけで、現時点での進捗をまとめてみた。思い描くようなツールを実装できるまでには、まだまだ時間がかかりそう。