在WPF中设置子UserControl的datacontext
我无法设置UserControl的datacontext(UserControl嵌套在其他UserControl中) 我的结构如下: 视图/视图模型:在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
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>