是否可以将UserControl的DataContext绑定到属性

时间:2011-02-14 16:28:50

标签: silverlight mvvm mvvm-light

我有一个用户控件,我想在两个不同的上下文中使用。用户控件需要将其DataContext设置为由父视图/ viewmodel创建的适当ViewModel的实例。

我希望有类似的东西:

<local:Child DataContext="{Binding ChildViewModel}"/>

其中ChildViewModel是页面绑定的ViewModel的inpc样式属性。

这似乎不起作用。是否可以使用Binding来分配DataContext?

1 个答案:

答案 0 :(得分:1)

将ContentControl的内容绑定到您的子ViewModel可能更简单,如下所示:

<ContentControl Content="{Binding ChildViewModel}" />

..然后有一个DataTemplate来应用你的本地:子视图,就像这样

<DataTemplate DataType="{x:Type local:ChildViewModel}">
    <local:Child />
</DataTemplate>