I have 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?
A:
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.
ozczecho
2010-10-06 05:48:44
A:
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");
Tri Q
2010-10-06 05:49:24
Great answers thanks!
DaveO
2010-10-07 02:12:53