ゼロからのデスクトップアプリ①MVVMを理解する[.NET][C#][WPF][VisualStudio][SundayProgrammer][初心者向]

サンデープログラマ的な見地から、気軽にそして楽しく作れるWindowsデスクトップアプリケーションを連載してみようと思います。で、いきなりですがMVVMから入ります。自分が忘れそうだがら書いているとう説も(汗‥

MVVMの理解

MVVMを手っ取り早く理解するには、かずき氏のサンプルをいじるといいです。MVVM入門 その1「シンプル四則演算アプリケーションの作成」-MSDN 

慣れてないときや、忘れてしまったときは、よくこのプロジェクトを開いて確認しました。

NuGetライブラリを使ってMVVMのWPFアプリケーションを作ってみよう

MVVMの構成とパターンに慣れたら、ゼロかから作っていきましょう。MVVMの土台部分はMVVMLightToolKitというライブラリを使います。
Visual Studioを起動。メニューから、 ファイル(F) -> 新規作成(N) -> プロジェクト(P) を選択します。

MVVMLightToolKitのテンプレートがインストールされていると、ここにあるテンプレから作成することが出来るのですが、敢えて素のWPFから作りNuGetでMVVMLightToolKitライブラリを足していく方式をとります。このほうが後々応用が利くからです。

何の変哲も無いウインドウだけのWPFプロジェクトです。
ツール(T) -> NuGetパッケージマネージャー(N) -> パッケージマネージャーコンソール(O) でPowerShellのコンソールが開きます。余談ですが、EclipseやAnjutaのように、ここにコンソールアプリの出力をリダイレクトする機能はないのかといつも考えます(笑)

次に、コンソールウインドに入りコマンドを打ちます。

Install-Package MvvmLight

めちゃめちゃ簡単にMVVMの土台が生成されました。とはいっても実行すると最初のウインドウだけなのですけどね。.NETとMVVMLightToolKitのバージョンによる依存関係は、しっかり確認しておかないとハマることがあります。

次回はこれに、mahappsというスタイリッシュなUIを付け加えていきます(予定)。

関連:

MVVM Light Toolkit -公式 
MVVM Light Toolkit -CodePlex

参考:

連載:WPF入門:第6回 「コマンド」と「MVVMパターン」を理解する -@IT
MVVM Light Toolkitを使ってみよう。その2 MVVMの復習 -かるあ のメモ
MVVMとは -garicchi.com
MVVMパターンでViewModelを楽に作る方法 -かずきのBlog@hatena