私の WPF (4.0) アプリケーションでは、Viewmodel-first
パターンを使用しています。したがって、ビューモデルが最初に作成され、次にデータ テンプレートを使用してビューが作成されます。実際のデモはこちらにあります。
ここで、作成されたビュー (コード ビハインド) 内から、viewmodel のプロパティを変更する必要があります。アプローチではView-first
、名前付きビューモデル インスタンスにアクセスするだけです。ただし、このViewmodel-first
アプローチではこれが許可されません。ビューモデルはありますが、ビューはそれが何であるかを気にしません。
悪い:
確かに を取得して使用することはできますがDataContext
、それによってビューとビューモデルが効果的に結合されます。
private void MyView_Loaded(object sender, RoutedEventArgs e)
{
this.viewModel = DataContext as MyViewModel;
}
これには推奨されるパターンが必要です。コマンド?メッセージ?助けてください!
Q: アクティブなビューモデルを変更 (プロパティを設定) するにはどうすればよいですか?