在WPF中设置子UserControl的datacontext

在WPF中设置子UserControl的datacontext,wpf,wpf-controls,Wpf,Wpf Controls,我无法设置UserControl的datacontext(UserControl嵌套在其他UserControl中) 我的结构如下: 视图/视图模型: MainControl <-> MainViewModel <br> UserControlA <-> ViewModelA<br> UserControlB <-> ViewModelB<br><br> ViewModels:<br> 在UserC

我无法设置UserControl的datacontext(UserControl嵌套在其他UserControl中)

我的结构如下:

视图/视图模型:

MainControl <-> MainViewModel <br>
UserControlA <-> ViewModelA<br>
UserControlB <-> ViewModelB<br><br>
ViewModels:<br>
UserControlA
中,我执行与
MainControl
中相同的操作,绑定数据上下文 将
UserControlB
添加到其
ViewModel
中,这是
ViewModelA
这不是预期的工作

   <!-- USerControlA Xaml-->
    <UserControl>
    .....
    .....

    <views:UserControlB DataContext="{Binding DataContext.ViewModelB}" /> 

   </UserControl>

.....
.....

将UserControlB的datacontext绑定更改为:

<UserControl>
    <views:UserControlB DataContext="{Binding ViewModelB}" /> 
</UserControl>

谢谢Stuart,事实证明这是我在绑定DataContext时犯的一个愚蠢的拼写错误。我刚刚读完一篇关于调试绑定错误的文章,这也很有帮助。这里是[调试绑定错误]
我同意您的看法,没有必要使用DataContext.ViewModelB在绑定中只使用ViewModel就足够了。
<UserControl>
    <views:UserControlB DataContext="{Binding ViewModelB}" /> 
</UserControl>