我有MainWindow,其中包含状态栏和多个用户控件。每个用户控件都有一个viewmodel。如何从多个视图模型中绑定/更新状态栏文本?
答案 0 :(得分:2)
这是我自己用过的一个简单的。
实施Messenger系统并给它一个Singleton实例,比如说...... StatusBarMessenger
MainWindow View-Model:
StatusBarMessenger.Instance.Register(this, new Action(s => Status = s));
需要将文本发送到状态栏的所有VM可能会执行以下操作:
StatusBarMessenger.Instance.Send("Hello world");
答案 1 :(得分:0)
如果您使用PRISM,则可以使用其EventAggregator发布(来自您的用户控件)消息,并使用StatusBar VM订阅这些消息。