我正在尝试使用MVVM模式开发一个WPF应用程序 - 实际上它更像是一个工具。我已经阅读了几篇文章,观看了视频,发布了一些问题,但不知怎的,我觉得我对这个MVVM事物的处理或理解不是“正确的”。
我将从UI开始。在第一阶段,UI将显示以下内容:
PasswordBox
)所以我会确定需要处理的以下数据:
ObservableCollection<Project>
Project
对象boolean
我担心,我不知道我应该如何在MVVM之后构建或设计这个。我应该在这里使用多少视图,视图模型和模型?当然,应用程序会增长,但不会那么多。让我们坚持上述。
答案 0 :(得分:6)
对此
没有正确或错误的答案将Views,ViewModels和Models视为截止点。它们允许您模块化您的应用程序,而不是采用不可重用的单片方法。
一般来说,ViewModels to Views是1:M然而现实是大多数时候它们是1:1的关系。 ViewModel和View是大量工作所在的地方,模型只是一个POCO,它为绑定需求实现了INotifyPropertyChanged
。
在您的示例中,我将使用由单个ViewModel支持的单个View,并根据需要使用多个模型(Project,UserCredentials等)。您可能拥有执行实际登录工作的服务,但您可以在ViewModel中执行该工作。
答案 1 :(得分:3)
在纯MVVM impelmentation中,每个视图都应该有一个viewModel。在现实生活中,它可能会有点不同......
查看PRISM Modular Application Development中的关键决定。
此外,This文章解释得非常好
祝你好运