C#のWindowsフォームでMVVMをする方法:一緒に作るWindowフォームのMVVMフレームワーク

コントロールのデータバインド,ViewModelでのメッセージ表示や画面遷移,ベース画面の作成方法を解説しています

C#のWindowsフォームでMVVMをする方法:一緒に作るWindowフォームのMVVMフレームワーク
C#のWindowsフォームでMVVMをする方法:一緒に作るWindowフォームのMVVMフレームワーク

C#のWindowsフォームでMVVMをする方法:一緒に作るWindowフォームのMVVMフレームワーク free download

コントロールのデータバインド,ViewModelでのメッセージ表示や画面遷移,ベース画面の作成方法を解説しています

どうもこんにちは,ピーコックアンダーソンです。

今回はC#のWindowsフォームでMVVMをする方法を解説しています。

内容はViewとViewModelのデータバインディングの方法を

Windowsフォームではどのようにするべきかを,全体的にまとめています。

※MVVMのMの部分はやっていませんのでご了承ください。


コントロールのバインドから,ViewModelでのメッセージ表示,

ViewModelでの画面遷移をテスト容易性を考えた形で実装しています。


WPFと異なり,MVVMを支援するフレームワークや情報が充実していないので

改めて全体をまとめてみました。

チーム全体で使うフレームワークにもなると思しますし,

動画の中で一緒に作成することで理解が深まると思います。


Windowsフォームで実装をしている方は是非ご覧ください。


#01_はじめに

#02_プロジェクトの作成

#03_フォルダー構成の作成

#04_Labelのバインディング

#05_TextBoxのバインディング

#06_DateTimePickerのバインディング

#07_CheckBoxのバインディング

#08_RadioButtonのバインディング

#09_ComboBoxのバインディング_DataSource編

#10_ComboBoxのバインディング_SelectedValue編

#11_DataGridのバインディング

#12_DataGridで値を入力する方法

#13_BindingListの連動を確認する

#14_Dispatcherを使ってViewModelで非同期処理中にコントロールの値を変更する方法

#15_Dispatcherを使ってBindingListをUIスレッドに戻す方法

#16_ViewModelでメッセージを表示させる方法

#17_Moqを使って簡単にテスト用Mockを作成する方法

#18_メッセージボックスが表示されることを確認する

#19_例外メッセージを表示する方法

#20_ViewModelで画面遷移をする方法

#21_画面遷移でパラメーターを渡す方法

#22_DataGridをダブルクリックで選択行をViewModelに渡す方法

#23_新規追加と編集モードでReaOnlyを切り替える

#24_ステータスバーをバインディングする方法

#25_ステータスバーをすべての画面で共通化する

#26_ボタンのデータバインディング

#27_その他のバインディングと奥の手

#28_全体のまとめ

#29_不具合修正

#30_さいごに