我有一个用户控件,我想在两个不同的上下文中使用。用户控件需要将其DataContext设置为由父视图/ viewmodel创建的适当ViewModel的实例。
我希望有类似的东西:
<local:Child DataContext="{Binding ChildViewModel}"/>
其中ChildViewModel是页面绑定的ViewModel的inpc样式属性。
这似乎不起作用。是否可以使用Binding来分配DataContext?
答案 0 :(得分:1)
将ContentControl的内容绑定到您的子ViewModel可能更简单,如下所示:
<ContentControl Content="{Binding ChildViewModel}" />
..然后有一个DataTemplate来应用你的本地:子视图,就像这样
<DataTemplate DataType="{x:Type local:ChildViewModel}">
<local:Child />
</DataTemplate>