晴天ღ. 2023-05-06 15:42 采纳率: 60%
浏览 25
已结题

关于#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;}
}

  • 写回答

2条回答 默认 最新

  • 晴天ღ. 2023-05-06 15:57
    关注

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

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月6日
  • 创建了问题 5月6日

悬赏问题

  • ¥15 这个如何解决详细步骤
  • ¥15 在微信h5支付申请中,别人给钱就能用我的软件,这个的所属行业是啥?
  • ¥30 靶向捕获探针设计软件包
  • ¥15 别人给钱就能用我的软件,这个的经营场景是啥?
  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制