我无法弄清楚如何让视图模型收到模型更改的通知,而无需在我的模型中添加一堆特定于 UI 的东西,例如 INotifyProperyChanged 和 INotifyCollectionChanged,或者创建大量不同的事件并做一堆感觉就像它们是特定于 UI 的,应该远离模型。
否则我只需要复制视图模型中的所有业务逻辑以确保一切都是最新的,那么拥有模型有什么意义呢?
我的模型中的一个棘手问题是“类别”类的属性。你可以把它想象成一个树结构,属性都是叶子节点的后代。那么在模型中,属性是通过它的所有孩子递归生成的,这一切都很好。然而,视图模型需要绑定到该属性并且需要知道它何时更改。我应该更改模型以适应视图模型吗?如果我这样做了,那么此时视图模型实际上并没有做任何事情,模型会引发所有必要的更改通知,并且视图可以直接绑定到模型。此外,如果模型是我没有来源的东西,我将如何解决这个问题?