MVVM パターンについて助けが必要です。
A という名前のビューのリストビューに表示されるデータとコマンドを公開する ViewModel を作成しました。
この ViewModel は、B という名前のビューでも使用されます。このビューでは、いくつかのプロパティを公開するだけでコマンドは必要ありませんが、さらに 2 つのプロパティを作成する必要がありました。
同じオブジェクトに関係する場合でも、View B のより具体的な ViewModel を作成する方がよいでしょうか?
構成を提案します。2つのビューモデルがあり、どちらも共通のプロパティを保持するビューモデルを含むプロパティを持っています。2つのビューモデルには、特定の他のプロパティとコマンドのみが含まれている必要があります。
答えるのが難しい。しかし、私は私たちが私たちのアプリケーションのために何をしているのかをあなたに言うことができます。ビューに依存しないビューモデルが1つあります。これは、ビジネスデータのラッパーとして機能し、このモデルが表示されるほとんどすべての部分で使用されるすべてのものが含まれています。ビュー部分については、非常に特殊なビューモデルがあります。ProjectTreeViewModelまたはSearchResultViewmodelのように、両方に対応するItemビューモデルがあります。Itemビューモデルは、すべてのロジックを再度実装する必要はありません。一般的なモデルビューモデルを集約するだけで済みます。より良い例えを与えるために:
File
、、Drive
およびFolder
モデルがある場合。FileViewModel
、、を作成しDriveViewModel
ますFolderViewModel
。しかし、1つだけExplorerItemViewModel
です。これは、基礎となるビューモデルを公開するためのプロパティを提供するだけで済みます。残りはデータテンプレートによって異なります。