WPF / MVVM:将多个datacontext设置为ONE usercontrol

时间:2010-05-04 15:30:20

标签: wpf user-controls datacontext viewmodel

我有一个带有5个小UserControl的UserControl,它们是第一个UserControl的一部分。

第一个UserControl由MainViewModel类型进行datatemplated。

其他5个小型UserControl也将DataContext设置为此MainViewModel类型。

现在我还想要那5个UserControl获得第二个DataContext来访问其他公共

另一个ViewModel的属性。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我不相信你可以为任何给定的控件设置多个DataContexts。

所以,根据你想要做什么,你可以:

a)只需将5个子控件的DataContext设置为第二个DataContext类型

即可

b)创建另一个继承自MainViewModel的ViewModel,并且还包含5个子控件所需的所有额外属性。这将是您需要MainViewModel和第二个视图模型中的所有内容。

我想你也可以修改你的主ViewModel来访问子视图模型上的属性,但这完全是推测性的,而不知道你实际想要做什么。

希望有所帮助:)