如何从多个视图模型更新状态栏?

时间:2010-10-06 05:28:58

标签: wpf viewmodel status wvvm

我有MainWindow,其中包含状态栏和多个用户控件。每个用户控件都有一个viewmodel。如何从多个视图模型中绑定/更新状态栏文本?

2 个答案:

答案 0 :(得分:2)

这是我自己用过的一个简单的。

实施Messenger系统并给它一个Singleton实例,比如说...... StatusBarMessenger

MainWindow View-Model:

  • 需要字符串属性,例如。状态。
  • 需要注册Ctor中的StatusBarMessenger
StatusBarMessenger.Instance.Register(this, new Action(s => Status = s));

需要将文本发送到状态栏的所有VM可能会执行以下操作:

StatusBarMessenger.Instance.Send("Hello world");

答案 1 :(得分:0)

如果您使用PRISM,则可以使用其EventAggregator发布(来自您的用户控件)消息,并使用StatusBar VM订阅这些消息。