Как обновить строку состояния из нескольких моделей просмотра? - PullRequest
1 голос
/ 06 октября 2010

У меня есть MainWindow со строкой состояния и несколькими пользовательскими элементами управления. Каждый пользовательский элемент управления имеет модель представления. Как связать / обновить текст строки состояния из нескольких моделей просмотра?

Ответы [ 2 ]

2 голосов
/ 06 октября 2010

Это простой, который я использовал сам.

Реализация системы Messenger и предоставление ей экземпляра Singleton, скажем ... StatusBarMessenger

Модель просмотра главного окна:

  • Требуется строковое свойство, например. Статус.
  • Необходимо зарегистрироваться в StatusBarMessenger в Ctor
StatusBarMessenger.Instance.Register(this, new Action(s => Status = s));

Все виртуальные машины, которым требуется отправлять текст в строку состояния, могут выполнять следующие действия:

StatusBarMessenger.Instance.Send("Hello world");
0 голосов
/ 06 октября 2010

Если вы используете PRISM, вы можете использовать его EventAggregator для публикации (из ваших пользовательских элементов управления) сообщений и в StatusBar VM.

...