0

在 MVVM 设计中,是否有必要,甚至是一个坏主意,在数据绑定中有多个 DataContext?

我对 MVVM 的看法是 ViewModel 应该是拥有 View 所需的所有数据的那个。因此,在 View 中指定的 DataContext 的唯一源对象只是 ViewModel。ViewModel 将拥有 View 想要绑定到的所有源数据。

但是,我不确定我的想法是否正确,以及是否存在确实需要 View 想要绑定的多个 DataContext 的某些情况。

那么,在数据绑定中为视图设置多个 DataContext 是不是一个坏主意或做法?只有 ViewModel 作为唯一的 DataContext 就足够了吗?

4

1 回答 1

2

是的,ViewModel 应该是唯一的顶级 DataContext,它应该设置在 View 的根目录中。但是,可能还有其他子数据上下文。例如,ListBox 可能绑定到数据列表,其中 ListBox 每一行的 DataContext 绑定到数据列表中的一项。

于 2012-12-27T22:08:56.860 回答