私は最近、今後のプロジェクトのために WPF を使用して MVVM パターンの調査を開始しました。Josh Smith の MSDN 記事から始めました。質問があります (たくさんありますが、まずは 1 つから始めましょう):
モデルのプロパティを公開する IndividualViewModel があります。ご想像のとおり、「個人を追加」と「個人を編集」の 2 つのビューが必要です。私が現在行っていることは、AddIndividualViewModel と EditIndividualViewModel の 2 つのサブクラスを作成して、それぞれ Add コマンドと Edit コマンドを公開することです。これらにバインドする 2 つの類似した名前のビューもあります。
現在、このメソッドは機能しており、これらのクラスはとにかくかなり小さいですが、両方のコマンドを公開するビュー モデルを 1 つだけ持つことができるかどうか疑問に思っています。この同じビュー モデルにバインドする 2 つのビューがまだあり、適切なコマンドをボタンとして公開します。これを行う方法がよくわかりません。メインウィンドウのリソースには、次のようなものがあります。
<DataTemplate DataType="{x:Type ViewModels:AddIndividualViewModel}">
<Views:AddIndividualView />
</DataTemplate>
このバインド方法では、1 対 1 のバインドのみを行うことができます。つまり、特定のビュー モデルに対して常に同じビューが表示されます。ビュー モデルのプロパティ (IndividualViewModel.Mode など) に応じてビューを自動的に切り替える方法はありますか。検討すべき別のアプローチはありますか?
メイン ウィンドウにはビュー モデルのコレクションがあり、それぞれがタブに表示されることに注意してください。
ありがとうございました!