首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MvvM ViewModel to ViewModel通信

MvvM ViewModel to ViewModel通信
EN

Stack Overflow用户
提问于 2012-11-27 13:56:35
回答 2查看 1K关注 0票数 0

我有两个视图模型ViewModelAViewModelB,它们都使用公共DataServiceA来检索名为Theme的用户设置。ViewModelB可以更改该设置并将其保存到数据库中。当发生这种情况时,ViewModelA不会更新该主题值。

我一直在努力找出适当的行动方针,让它也能更新它,并提出了一些选择:

  1. 使DataService在保存值时引发属性通知(我不喜欢这样)
  2. 使用MessengerService使它们保持同步。(我遇到了消息传递循环中的问题)
  3. 将一个ViewModel传递给另一个

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-27 14:02:03

如果他们都使用相同的DataServiceA实例,我不认为DataServiceA也会实现INotifyPropertyChanged并在Theme属性更改时引发事件,这不是一个坏主意。

但是如果您不喜欢这个想法,另一个选择是使用EventAggregator并发布事件。我个人认为第一个选择是足够的,但这是你的决定.

票数 0
EN

Stack Overflow用户

发布于 2012-11-27 14:10:10

听起来是使用事件的一个很好的例子,如果它们都可以访问DataServiceA,那么当主题发生变化时,您能不引发事件吗?

所以..。在DataServiceA中,"OnThemeChanged“事件是在主题被修改时引发的,ViewModels可以订阅事件并在引发事件时更新其内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13585805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档