6
我无法设置UserControl的datacontext(UserControl嵌套在其他UserControl中)。在WPF中设置子UserControl的datacontext
我有以下结构:
查看/的ViewModels:
MainControl <-> MainViewModel <br>
UserControlA <-> ViewModelA<br>
UserControlB <-> ViewModelB<br><br>
ViewModels:<br>
ViewModelB
是ViewModelA
MainViewModel实例在ctor
ViewModelA
和ViewModelB
的性质。
浏览:
MainControl
包含UserControlA
,又包含UserControlB
MainControl
分配ViewModelA
作为DataContext的(这工作正常)
<!-- MainControl Xaml-->
<UserControl x:Name="MainControl">
<views:UserControlA DataContext="{Binding ViewModelA}" />
</UserControl>
在UserControlA
我做同样的事情作为MainControl
,将数据上下文 的UserControlB
与它的ViewModel
关联,这是ViewModelA
的一个属性 这不是作为ex反恐执行局...
<!-- USerControlA Xaml-->
<UserControl>
.....
.....
<views:UserControlB DataContext="{Binding DataContext.ViewModelB}" />
</UserControl>
由于斯图尔特,它实际上竟然是我与我绑定的DataContext方式的一部分愚蠢的拼写错误。我刚读完一篇关于调试绑定错误的文章,这也有帮助。这里是[调试绑定错误] http://www.wpf-tutorial.com/data-binding/debugging/
我同意你没有必要使用ViewModel的DataContext.ViewModelB就足够了。 – Anonymous