第一个 MVVM WPF 项目,所以我可能会问一个常见问题,但我找不到答案的搜索魔法。
我有许多 View ,当在其中一个 View 中调用某个命令时,我需要禁用其他一些 View 。我在我的数据模型中放置了一个 bool 标志,指示是否应该启用它们,并且其他 View 可以通过它们的 ViewModel 绑定(bind)看到该更改。但是模型不是“INotifyPropertyChanged”,所以当我在数据模型中更改该标志时,什么都不会更新。那么实现这一点需要什么?
最佳答案
在 MVVM 中,一种解耦 View 模型的方法是使用 event aggregator .当您执行命令时,它会引发一个事件。对此事件感兴趣的其他 View 模型已设置订阅,并在事件触发时收到通知。
在 an answer to the question named "Event Aggregator Implementation Sample / Best Practices" 中可以看到一个非常好的事件聚合器实现。 .
关于wpf - 处理 MVVM 架构中的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16834913/