前回までで,Repository,Entity,Mockなどを作成し,一連のViewModelのテストが完了しました。LatestViewModelTestのテストコードでは,Searchメソッドを呼び出すと,エリアID,計測日時,計測値が文字列になって取得できることが保証された状態です。あとは画面を作成して,テスト結果と同じように,画面に表示できる段階まで来ています。
フォームの作成
それではフォームを作成しましょう。フォームはMVVMの実装パターンではViewと呼ばれています。なので,WinFormプロジェクトにViewsフォルダーを作成し,そこにフォームを作成していきます。命名規約は機能名の後にViewと明記することにします。
Viewsフォルダーの追加
WinFormプロジェクトを右クリックして,「追加」「新しいフォルダー」を選択し,作成されたフォルダーを「Views」という名前に変更します。
この作成したViewsフォルダーに,画面をどんどん入れていきます。
LatestViewの追加
作成した「Views」フォルダーを右クリックし,「追加」「Windowsフォーム」を選択し,Windowsフォームを追加します。名前は「LatestView」とします。今回はLatestViewModelというViewModelを作成しましたが,それに対応するViewということで,「LatestView」という名前にします。
画面レイアウトの作成
LatestViewを作成したら,コントロールを張ってください。エリアIDはLabel,右側はテキストボックスで,ReadOnlyプロパティをTrueにしています。
各コントロールの設定は次の通りです。LabelはNameでの操作をしないので,名前は付けずに,デフォルトのままとしておきます。TextBoxとButtonにはそれぞれ名前を付けます。
項目名 |
コントロール |
Name |
エリアID |
Label |
デフォルトのまま |
エリアID |
TextBox(ReadOnly=True) |
AreaIdTextBox |
計測日時 |
Label |
デフォルトのまま |
計測日時 |
TextBox(ReadOnly=True) |
MeasureDateTextBox |
計測値 |
Label |
デフォルトのまま |
計測値 |
TextBox(ReadOnly=True) |
MeasureValueTextBox |
Search |
Button |
SearchButton |
次回はこれらの画面コントロールをViewModelとデータバインドして,画面表示する方法を見ていきたいと思います。