0

MVVMの設計では、データバインディングに複数のDataContextを含める必要がありますか、それとも悪い考えですか?

私がMVVMについて考えたのは、ViewModelはViewに必要なすべてのデータを備えたものでなければならないということです。したがって、ビューで指定されたDataContextの唯一のソースオブジェクトはViewModelのみです。ViewModelには、ビューがバインドするすべてのソースデータが含まれます。

ただし、自分の考えが正しいかどうか、およびビューがバインドする複数のDataContextを実際に必要とする特定の状況があるかどうかはわかりません。

それで、データバインディングのビューに複数のDataContextを設定することは悪い考えまたは実践ですか?唯一のDataContextであるViewModelだけで十分でしょうか?

4

1 に答える 1

2

はい、ViewModelは唯一のトップレベルのDataContextであり、ビューのルートに設定する必要があります。ただし、他のサブDataContextが存在する場合があります。たとえば、ListBoxはデータのリストにバインドされ、ListBoxの各行のDataContextはデータのリスト内の1つの項目にバインドされます。

于 2012-12-27T22:08:56.860 に答える