我想知道在Caliburn MVVM框架中组织View模型的最佳方法是什么。
我看到很多样本,其中视图模型是位于名为ViewModels的文件夹中的简单类,以及文件夹视图中的视图。
例如,项目具有以下结构:
- WPF app
- ViewModels [Folder]
-ShellViewModel [Class]
-ViewModelA [Class]
-ViewModelB [Class]
-Views [Folder]
-ShellView [Class]
-ViewA [Class]
-ViewB [Class]
在很多情况下,我对视图模型进行了复杂的观察。
在我看来,将视图和视图模型放在单个WpfControlLibrary中会很好。
但我不确定这是否是用MVVM设计组织WPF应用程序的好方法。
我认为当视图模型不是名为ViewModels的文件夹中的类时,Caliburn框架也会工作。
所以我的问题是在WPF应用程序中使用Caliburn框架组织视图和查看模型的正确方法和下注方式。
答案 0 :(得分:1)
如果这是一个新项目,创作者会推荐使用Caliburn micro。无论哪种方式,都可以在Views / ViewModels目录中组织它们,或者通过像Customer这样的函数来组织它们。
在hello屏幕示例中,它们按功能组织,因为每个函数都是要加载的模块。另一个很好的例子是media owl示例,其中每个模块都在自己的程序集中。
可以配置ViewModelLocator和ViewLocator来解析许多不同结构的ViewModel和视图。