1

我有一个带有状态栏和多个用户控件的 MainWindow。每个用户控件都有一个视图模型。如何绑定/更新来自多个视图模型的状态栏文本?

4

2 回答 2

2

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

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

MainWindow 视图模型:

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

所有需要向状态栏发送文本的 VM 都可以执行以下操作:

StatusBarMessenger.Instance.Send("Hello world");
于 2010-10-06T05:49:24.333 回答
0

如果您使用的是 PRISM,那么您可以使用它的 EventAggregator 发布(从您的用户控件)消息,并在 StatusBar VM 中订阅这些消息。

于 2010-10-06T05:48:44.980 回答