2012-06-22 2 views
1

В настоящее время я пытаюсь создать приложение с Prism, и у меня есть некоторые проблемы с связью между модулями.Связь MVVM с объектами

У меня есть StatusModule, который в основном показывает Statusmessages, но может также показать пользователю, что некоторая работа выполняется (неопределенная), показать разные значки, показать/скрыть элемент управления и так далее.

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

Создание 4-5 событий для каждой собственности, вероятно, является плохой практикой. Я также подумал о создании интерфейса в модуле «Взаимодействие», в котором находятся события и ресурсы.

Что вы, ребята, рекомендуете?

+2

Вы можете использовать агрегатор событий для связи между модулями. – pchajer

+0

Да, но базовый тип поддержки базового агрегатора eventaggregator, правильно? Поэтому мне нужно создать событие для каждого свойства, которое у меня есть (Show, AutoHide, Message, ...) – raphi011

+0

Вы можете открыть объект состояния с помощью агрегатора событий – pchajer

ответ

0

Многие события для статуса действительно могут быть не лучшим решением; однако, если есть один или два, которые используются много (например, показ сообщения о статусе в строке состояния), я бы разоблачил их как события в любом случае для удобства.

В остальном вы можете открыть StatusModule, или, скорее, интерфейс IStatusModule, реализованный StatusModule, через MEF или Unity в зависимости от того, что вы используете. Таким образом, любой компонент, который хочет показать статус, импортирует IStatusModule и использует его.

Смежные вопросы