开发者

How do I update the status bar from multiple viewmodels?

I ha开发者_StackOverflow社区ve MainWindow with a statusbar and multiple user controls in it. Each user control has a viewmodel. How do I bind/update the statusbar text from multiple viewmodels?


This is a simple one that I have used myself.

Implement a Messenger system and give it a Singleton instance, say... StatusBarMessenger

MainWindow View-Model:

  • Needs a string property, eg. Status.
  • Needs to register to the StatusBarMessenger in the Ctor
StatusBarMessenger.Instance.Register(this, new Action(s => Status = s));

All VM that requires to send text to the status bar may do the following:

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


If you are using PRISM then you can use its EventAggregator to Publish (from your user controls) messages and in StatusBar VM Subscribe to those messages.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜