【发布时间】:2013-05-30 11:25:10
【问题描述】:
第一个 MVVM WPF 项目,所以我可能会问一个常见问题,但我找不到答案的搜索魔法。
我有许多视图,当在其中一个中调用某个命令时,我需要禁用其他一些视图。我在我的数据模型中放置了一个布尔标志,指示是否应该启用它们,并且其他视图可以通过它们的 ViewModel 绑定看到该更改。但是模型不是“INotifyPropertyChanged”,所以当我在数据模型中更改该标志时,什么都不会更新。那么要做到这一点需要什么?
【问题讨论】:
-
让您的模型实现 INPC?让你的模型实现 INPC 并不是一件坏事。如果您使用 MVVM Light,请从
ObservableObject继承模型,而不是从 VM 继承的ViewModelBase。 -
那是合乎逻辑的,Viv! (只是不知道这是否已经完成)。
-
或者您可以在模型中更新数据后简单地引发一些事件......您的其他视图将被订阅,因此当您引发该事件时,您的视图会从模型中读取数据并相应地更新。跨度>