好的,这里还有一点需要思考。
MVVM 声明 Model 与 ViewModel 无关。因此,ViewModel 公开了要绑定的 View 的属性。
Microsoft 代码分析规则告诉我向模型中的公共变量添加一个属性。
警告:CA1051:Microsoft.Design:因为字段“Employee.name”在其声明类型之外是可见的,将其可访问性更改为私有并添加一个与该字段当前具有相同可访问性的属性,以提供对其的访问。
现在它的 2 个重复属性,我宁愿让它干燥,所以我在考虑合并 ViewModel 和 View。这里还有一件事,Model 是一个 POCO,并且不会有 INotifyPropertyChanged,所以让 VM 知道 Model 值的变化是另一个问题。我使用了很多基于 IList 的绑定
会不会有我忽略的未来问题?
编辑:我忘了提,我看了如何正确定义模型到视图模型的关系?, 我们软件中的另一件事是我们有一个单独的实体来填充 IList,它是一个 SERVICE/UTILITY 程序集。EmployeeViewModel 位于一个单独的 VIEW 程序集中。所以我将无法返回 ILIst。