在我们的 WPF 应用程序中,我们希望使用基本的 MVVM 模式。我们正在讨论它,出现了一些关于 ViewModel/View 关系和验证的不确定性。你说下面是不是很好理解呢?
每个 View 都有一个且只有一个 ViewModel ,而 ViewModel 的目的是为其 View 提供数据并处理其 View 的所有事件和命令。(是否存在一个 ViewModel 服务两个 View 的情况,例如一个标准 XAML 输入表单视图和一个 CSV 导入,它提供与表单相同的数据,因此需要进行相同的验证?)
当视图抛出 ChangedFocus 或 SaveButtonPressed 事件等时,验证仅由 ViewModel 处理。
模型非常愚蠢,只是基于数据库中的一个或多个表的数据结构,但模型本身不处理验证,例如。甚至是 ViewModel 建立并持有对象的 ObservableCollection,例如“客户”,而不是模型本身。
任何反馈表示赞赏。