代码之家  ›  专栏  ›  技术社区  ›  RUL JohnnyQ

每个视图的动态数量都应绑定到相应的ViewModel

  •  0
  • RUL JohnnyQ  · 技术社区  · 8 年前

    情况: 其思想是,要有一个config.xml,可以在其中定义列数和行数,以及关于每个单元格应该显示什么的一些信息(例如图像路径、HTML路径、工作流的ID)。此配置是否读取并保存在 Config -等级:

    public class Config
    {
        public int RowCount;
        public int ColumnCount;
        public List<PictureConfig> PictureConfigs;
        public List<HtmlConfig> HtmlConfigs;
        public List<WorkflowConfig> WorkflowConfigs;
    }
    

    为此,我为每种类型的单元格内容创建了一个视图=> ImageView ,请 HtmlView ,请 WorkflowView 当然,分别对应的视图模型,它应该为给定的路径或ID提供要显示的内容。

    我用的是wpf,mvvm灯和autopac ViewModelLocator.

    问题是: 就像我看到的 配置 -类,可以有相同类型的多个视图(每次显示的内容信息都不同)。现在在mvvm的灯光下,视图优先的想法被给出了,但是……

    …每个视图的动态数量如何绑定到正确的ViewModel,以及如何首先创建正确数量的ViewModel(它们保存彼此的信息,即图片路径)?

    我的想法: 当我从配置中得知,存在3个包含图片内容的单元格,并且只创建3个 PictureViewModel ,然后如何创建视图3次?或者反过来,如果我创建3个视图,并给每个视图一个新的视图模型,这些视图模型不知道要显示哪些信息…

    我已经困惑了几天了,但找不到一条干净的路。

    谢谢你的帮助!

    1 回复  |  直到 8 年前
        1
  •  0
  •   RUL JohnnyQ    8 年前

    我采用的解决方案是,在创建新视图(即添加 new ImageView Grid PictureConfig ViewModel 找到正确的 在PictureConfigs列表中按ID。