Mvvm-hooking-up-views
MVVM –ビューの接続
この章では、ViewModelにビューを接続するさまざまな方法について説明します。 まず、XAMLで宣言できるView first構造を見てみましょう。 メインウィンドウからビューを接続した最後の章の例を見てきたように。 次に、ビューを接続する他の方法を見ていきます。
この章でも同じ例を使用します。 以下は、同じModelクラスの実装です。
ViewModelクラスの実装は次のとおりです。 今回は、LoadStudentsメソッドがデフォルトのコンストラクターで呼び出されます。
ビューがウィンドウ、ユーザーコントロール、またはページのいずれであっても、パーサーは通常、上から下、左から右に機能します。 各要素に遭遇すると、デフォルトのコンストラクタを呼び出します。 ビューを作成するには2つの方法があります。 どれでも使用できます。
- XAMLで最初の構築を表示
- コードビハインドで最初の構造を表示
XAMLで最初の構築を表示
1つの方法は、次のコードに示すように、DataContextプロパティのセッターにネストされた要素としてViewModelを追加するだけです。
完全なView XAMLファイルを次に示します。
コードビハインドで最初の構造を表示
もう1つの方法は、Viewを最初に構築できることです。インスタンスでDataContextプロパティを設定して、Viewのコードビハインドでビューモデルを構築するだけです。
通常、DataContextプロパティはビューのコンストラクターメソッドで設定されますが、ビューのLoadイベントが発生するまで構築を延期することもできます。
XAMLの代わりに分離コードでビューモデルを構築する理由の1つは、Viewモデルコンストラクターがパラメーターを取ることですが、XAML解析では既定のコンストラクターで定義されている場合にのみ要素を構築できることです。
この場合、ViewのXAMLファイルは次のコードのようになります。
MainWindow.XAMLファイルに示されているように、このビューをMainWindowで宣言できます。
上記のコードをコンパイルして実行すると、メインウィンドウに次の出力が表示されます。
理解を深めるために、上記の例を段階的に実行することをお勧めします。