【发布时间】:2017-01-03 23:07:29
【问题描述】:
我有一个看起来像这样的 WPF 应用程序:
viewmodel 包装模型并通过 INotifyChanged 公开与视图相关的任何属性。该视图还绑定到几个 ICommand 对象,这些对象处理视图触发的某些行为。我有一个外部 ICommand,其唯一目的是将模型保存到数据库中。
我读过的所有内容都表明视图或视图模型都不应该引用存储库。这就是视图模型之外的命令 3 的原因。
我的问题是双重的。首先,这是一个合理的架构,其次,有什么好方法可以将模型实例传递给命令 3,以便将其放入存储库中?
【问题讨论】:
-
Command 1和Command 2在 VM 中以及Command 3在 VM 中的具体情况如何?不是所有命令都在它们自己的类中单独实现,并且只是作为其属性“添加”到 VM 中吗?在这种情况下,一个命令在 VM 中,另一个命令在 VM 中??
标签: c# wpf mvvm repository