ここでは Style クラスをリソースに定義しましたが、リソースには XAML で定義できるクラスであれば何でも構いませ
ん。例えばコード 7.9 では 10 行目と 40 行目で同じ設定の SolidColorBrush を使用しているので 1 つ分のメモリを余 計に消費しています。SolidColorBrush クラスをリソースとして定義し、これを共有するようにすることでメモリの節約 にもなります。この他にも DataTemplate クラスや ControlTemplate クラスもリソースとして定義することができます。
8 おわりに
C# によるコンソールアプリケーション作成から始まり、WPF による UI 構築や、MVVM パターンを意識したアプリケーシ ョン開発に関する基礎を紹介しました。
WPF によるアプリケーション開発では、C# によるコーディングよりもむしろ XAML による表現方法をどのようにすれば よいのかについて悩む場面が多くなると思います。WPF が難しく感じる理由の一つとしてこの XAML があると思います。
XAML 力を高くすることで一つの壁を超えることができると思いますので、繰り返し練習を重ねてください。本書では説明し
ていませんが、独自のコントロールを作成できるユーザーコントロールやカスタムコントロールなどを作成することでより
XAML に対する理解が深まると思いますので、興味のある方はそちらのほうも是非チャレンジしてみてください。
MFC ではある機能を実装するとき、どういうコードを書けばいいのだろう、ということによく悩んでいましたが、WPF+C#
ではそういうことよりもむしろ、どんなコンテンツで表現すればいいのだろう、ということに悩むことが多いと思います。
これは WPF+C# 引いては .NET Framework が小難しい処理をすべてラップしてくれているおかげで、開発者が本来悩むべ き問題、つまり「このアプリをどうやって作るのか」ではなく、「このアプリはどうやって使うのか(使われるべきか)」
という問題に正面から取り組めるようになったのだと思います。開発者は常にユーザーの視点からアプリの設計をすべきで、
ユーザーエクスペリエンスの高いアプリケーションを開発するために様々な機能を盛り込まなければいけません。そのため のツールとして WPF+C# が選択肢の一つとして挙げられると思いますので、本書を読破した方はより応用的な技術も修得し て、今後の開発人生の糧にしていただきたいと思います。
改訂履歴
改訂年月日 バージョン 概 要
2016年8月25日 Ver.1.0.0 初版リリース。