我无法设置UserControl的datacontext(UserControl嵌套在其他UserControl中).
我有以下结构:
查看/的ViewModels:
MainControl <-> MainViewModel <br>
UserControlA <-> ViewModelA<br>
UserControlB <-> ViewModelB<br><br>
ViewModels:<br>
Run Code Online (Sandbox Code Playgroud)
ViewModelB是的属性ViewModelA
MainViewModel实例ViewModelA,并ViewModelB在ctor.
视图:
MainControl包含UserControlA,其中包含UserControlB
MainControl指定ViewModelA为datacontext(这按预期工作)
<!-- MainControl Xaml-->
<UserControl x:Name="MainControl">
<views:UserControlA DataContext="{Binding ViewModelA}" />
</UserControl>
Run Code Online (Sandbox Code Playgroud)
在UserControlA我做同样的事情MainControl,将datacontext绑定UserControlB到它ViewModel是一个属性在ViewModelA
这是不按预期工作...
<!-- USerControlA Xaml-->
<UserControl>
.....
.....
<views:UserControlB DataContext="{Binding DataContext.ViewModelB}" />
</UserControl>
Run Code Online (Sandbox Code Playgroud)