如何保持观点的状态?一个视图应该只有一个ViewModel吗?

时间:2012-05-18 14:40:58

标签: winforms design-patterns webforms mvp

我有两种形式,

  1. 一个主窗体,其网格视图显示类型AaaViewModel的列表。
  2. 和一个子窗体,它会在主窗体中单击一行后弹出。它将显示来自主窗体中单击的行的一些数据以及一个网格视图,其中包含与单击的行相关的类型BbbViewModel的列表。
  3. 如何保持主表单的状态?应该是

    interface IMainForm { IEnumerable<AaaViewModel> state; ....}
    

    还是应该放在演示者课程中?是否应将另一个ViewModel定义为主窗体的IEnumerable<AaaViewModel>

    顺便说一句,如何定义子窗体的ViewModel?它应该使用两个视图模型AaaViewModelBbbViewModel吗?或者它应该结合起来。

    class SubformViewModel
    {
         public AaaViewModel Main { get; set; }
         public IEnumerable<BbbViewModel> Sub { get; set; }
    }
    

    或者如果我只需要主窗体中的几个字段,我不需要在子窗体中使用AaaViewModel?

    class SubformViewModel
    {
         public int Field1 { get; set; }
         public string Field2 { get; set; }
         public IEnumerable<BbbViewModel> Sub { get; set; }
    }
    

0 个答案:

没有答案