我有两个视图模型ViewModelA和ViewModelB,它们都使用公共DataServiceA来检索名为Theme的用户设置。ViewModelB可以更改该设置并将其保存到数据库中。当发生这种情况时,ViewModelA不会更新该主题值。
我一直在努力找出适当的行动方针,让它也能更新它,并提出了一些选择:
有什么想法吗?
发布于 2012-11-27 14:02:03
如果他们都使用相同的DataServiceA实例,我不认为DataServiceA也会实现INotifyPropertyChanged并在Theme属性更改时引发事件,这不是一个坏主意。
但是如果您不喜欢这个想法,另一个选择是使用EventAggregator并发布事件。我个人认为第一个选择是足够的,但这是你的决定.
发布于 2012-11-27 14:10:10
听起来是使用事件的一个很好的例子,如果它们都可以访问DataServiceA,那么当主题发生变化时,您能不引发事件吗?
所以..。在DataServiceA中,"OnThemeChanged“事件是在主题被修改时引发的,ViewModels可以订阅事件并在引发事件时更新其内容。
https://stackoverflow.com/questions/13585805
复制相似问题