C# 拆分视图viewmodel和不同项目中的模型-ViewModelLocator放在哪里
将我的视图/视图模式/模型拆分为单独的visual studio项目。 我只在桌面上使用MVVMLight工具包5.3.0版、visual studio 2015、C#和WPF应用程序 溶液结构C# 拆分视图viewmodel和不同项目中的模型-ViewModelLocator放在哪里,c#,wpf,visual-studio,mvvm,mvvm-light,C#,Wpf,Visual Studio,Mvvm,Mvvm Light,将我的视图/视图模式/模型拆分为单独的visual studio项目。 我只在桌面上使用MVVMLight工具包5.3.0版、visual studio 2015、C#和WPF应用程序 溶液结构 项目1:UI(WPF应用程序) 项目2:视图(WPF用户控件库-用于存储所有视图) 项目3:ViewModel(类库-用于存储所有ViewModel) 项目4:模型(类库-存储所有模型) 项目5:通用(类库-使用我的模型和视图模型-存储我的-仅类和接口) 参考资料 公共:由模型和视图模型项目引
- 项目1:UI(WPF应用程序)
- 项目2:视图(WPF用户控件库-用于存储所有视图)
- 项目3:ViewModel(类库-用于存储所有ViewModel)
- 项目4:模型(类库-存储所有模型)
- 项目5:通用(类库-使用我的模型和视图模型-存储我的-仅类和接口)
- 公共:由模型和视图模型项目引用
- 模型:由ViewModel项目引用
- 视图模型:由视图项目引用
- 视图:我假设我的UI应该只引用我的视图项目
- UI引用视图和视图模型项目
- 视图参照ViewModel项目
- ViewModel引用了模型和公共模型
- 模型参考通用
它可以工作,但这是正确的方法吗?老实说,我要做的是将它重新组织为两个项目:一个
类库项目和一个WPF
项目。因此,您当前的项目1和2将在一个项目中,而3、4和5在另一个项目中
至于回答您的问题,.我的结论是WPF
应用程序不喜欢“共享”。因此,我将ViewModelLocator
放在WPF项目中
如果您仍然希望继续进行所有的分离,我建议在两个提议的项目下使用不同的文件夹和名称空间
命名空间示例:
- 对于ViewModelLocator、数据服务、存储服务、接口等:
YourAppName.Services
- 对于您的型号:
YourAppName.Models
- 对于您的ViewModels:
YourAppName.ViewModels
- 对于您的视图:
YourAppName.Views
老实说,我要做的是将其重新组织为两个项目:一个类库
项目和一个WPF
项目。因此,您当前的项目1和2将在一个项目中,而3、4和5在另一个项目中
至于回答您的问题,.我的结论是WPF
应用程序不喜欢“共享”。因此,我将ViewModelLocator
放在WPF项目中
如果您仍然希望继续进行所有的分离,我建议在两个提议的项目下使用不同的文件夹和名称空间
命名空间示例:
- 对于ViewModelLocator、数据服务、存储服务、接口等:
YourAppName.Services
- 对于您的型号:
YourAppName.Models
- 对于您的ViewModels:
YourAppName.ViewModels
- 对于您的视图:
YourAppName.Views
我很确定这个问题没有明确的答案。如果拆分对您和其他开发人员有意义,那么就去做吧。如果您想看看另一个例子,我举了一个简单的例子:我在这里解释,我很确定这个问题没有明确的答案。如果拆分对您有意义如果你想看看另一个例子,我举了一个简单的例子:我在这里解释