动态数量的视图应该分别绑定到相应的 ViewModel
Dynamic amount of Views should each bind to corresponding ViewModel
情况:思路是,有一个config.xml,可以定义Column-Count和Row-Count,以及一些关于什么的信息应该为每个单元格显示(即图像路径、html 路径、工作流程的 ID)。我读取并保存此配置 Config
-class:
public class Config
{
public int RowCount;
public int ColumnCount;
public List<PictureConfig> PictureConfigs;
public List<HtmlConfig> HtmlConfigs;
public List<WorkflowConfig> WorkflowConfigs;
}
为此,我为每种类型的单元格内容创建了一个视图 => ImageView
、HtmlView
、WorkflowView
,当然还有相应的 ViewModel,它们应该提供内容显示给定路径或 ID。
我正在使用 WPF、MVVM Light 和 Autofac,并且有一个 ViewModelLocator.
问题:正如我在Config
-class中看到的,可以有多个相同类型的视图(每次都有不同的信息关于显示什么)。现在在MVVM Light中,给出了view-first的思路,但是..
..如何将动态数量的视图分别绑定到正确的 ViewModel 以及如何首先创建适量的 ViewModel(保存彼此的信息,即图片路径) ?
我的想法:当我从配置中得知,存在 3 个带有图片内容的 Cell,并且只创建了 PictureViewModel
的 3 个实例,我该如何创建a View 3 次也是如此?或者反过来,如果我创建 3 个视图,并给它们每个视图一个新的 ViewModel,那些 ViewModel 不知道要显示哪些信息...
这两天一直在纠结,一直没找到解决办法。
感谢您的帮助!
我采用的解决方案是,在创建新视图时(即将 new ImageView
添加到 Grid
的子项),我将 ID 传递给 [=12] =].因此视图可以告诉 Id 它的 ViewModel
,这将通过 Id 在 PictureConfigs-List 中找到正确的 PictureConfig
。
情况:思路是,有一个config.xml,可以定义Column-Count和Row-Count,以及一些关于什么的信息应该为每个单元格显示(即图像路径、html 路径、工作流程的 ID)。我读取并保存此配置 Config
-class:
public class Config
{
public int RowCount;
public int ColumnCount;
public List<PictureConfig> PictureConfigs;
public List<HtmlConfig> HtmlConfigs;
public List<WorkflowConfig> WorkflowConfigs;
}
为此,我为每种类型的单元格内容创建了一个视图 => ImageView
、HtmlView
、WorkflowView
,当然还有相应的 ViewModel,它们应该提供内容显示给定路径或 ID。
我正在使用 WPF、MVVM Light 和 Autofac,并且有一个 ViewModelLocator.
问题:正如我在Config
-class中看到的,可以有多个相同类型的视图(每次都有不同的信息关于显示什么)。现在在MVVM Light中,给出了view-first的思路,但是..
..如何将动态数量的视图分别绑定到正确的 ViewModel 以及如何首先创建适量的 ViewModel(保存彼此的信息,即图片路径) ?
我的想法:当我从配置中得知,存在 3 个带有图片内容的 Cell,并且只创建了 PictureViewModel
的 3 个实例,我该如何创建a View 3 次也是如此?或者反过来,如果我创建 3 个视图,并给它们每个视图一个新的 ViewModel,那些 ViewModel 不知道要显示哪些信息...
这两天一直在纠结,一直没找到解决办法。
感谢您的帮助!
我采用的解决方案是,在创建新视图时(即将 new ImageView
添加到 Grid
的子项),我将 ID 传递给 [=12] =].因此视图可以告诉 Id 它的 ViewModel
,这将通过 Id 在 PictureConfigs-List 中找到正确的 PictureConfig
。