关于#wpf#的问题:有关WPF中DataContext上下文数据传递问题

有关WPF中DataContext上下文问题
刚刚学习WPF,在xaml对应的xaml.cs文件中,this.DataContext只能被一个ViewModel所赋值。那么我就想,将其他B C D (ViewModel)放在A(ViewModel)中。结果发现,B C D(ViewModel)中的属性无法被读取。请问大家,这是怎么一回事呢

public class MainWindow : Window
{
    public MainWindow()
    {
        A_ViewModel = new A_ViewMode();
        this.DataContext = A_ViewModel;
        //当前MainWindow.xmal的对应前端UI中无法读取到A_ViewModel中的B_ViewModel的CloseCommand属性
        //已经证实,CloseCommand是没有问题的,通过直接this.DataContext = B_ViewModel;证实过
    }
    public A_ViewMode; A_ViewModel;
}
 
public class A_ViewModel :ICommand
{
   public A_ViewModel()
   {
      B_ViewModel= new B_ViewModel();
      //具体不再写了,表示new过
    }
     public B_ViewModel B_ViewModel;
}
public class B_ViewModel :ICommand
{
   public B_ViewModel()
   {
      CloseCommand = new ICommand();
    //具体不再写了,表示new过
    }
  public ICommand CloseCommand { get; set;}
}

补充一下,是不是我的理解有问题? 一个View仅仅对应一个ViewModel,而我的思想是把一个View中功能细分了,产生了多个ViewModel。却想把这个多个ViewModel全都绑定到一个View上? 这是不是我对MVVM框架理解的有问题啊?

  • 这篇博客: WPF数据绑定中的  6.2.安装成功,多了一个ViewModel文件夹 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读: