MVVM Central App Logic - PullRequest
       1

MVVM Central App Logic

3 голосов
/ 17 мая 2011

Я использую Simple MVVM Toolkit в WPF для создания приложения, приложение использует центральный элемент управления вкладками, с View (UserControl) для каждого элемента вкладки. Эти представления также могут содержать элементы управления вкладками, содержащие дополнительные «подвиды».

Наша трудность заключается в том, чтобы найти способ поделиться логикой приложения, которая используется несколькими из этих представлений, без единого глобального беспорядочного класса.

1 Ответ

2 голосов
/ 17 мая 2011

Я бы не пошел с огромным классом, который содержит все. Но у меня был бы центральный ViewModel, который контролирует общее состояние. Как и ShellViewModel. И я бы позволил моделям представления общаться и обмениваться информацией через Messenger (MVVM Toolkit light) или EventAggregator (Prism). Они предлагают способ публикации / подписки шаблонов для обмена информацией. И вы можете обратиться к ним, реализовав собственные классы сообщений и передавая полезную нагрузку вместе с ним.

Таким образом, вы можете иметь глобальное Сообщение для сохранения всех, и каждый (Sub-) ViewModel может зарегистрироваться в нем и запустить собственный метод сохранения после получения сообщения ...

Prism http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx

MVVM light http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx

Дайте мне знать, если это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...