Поддерживает ли CompositeWPF несколько окон / оболочек? - PullRequest
3 голосов
/ 10 ноября 2008

Я смотрю на использование CompositeWPF (http://www.codeplex.com/CompositeWPF) - он же Prism, для создания приложения, над которым я работаю.

Приложение не является традиционным LOB-приложением, однако оно предоставляет данные и информацию о состоянии пользователю.

В одном я не уверен, что CompositeWPF поддерживает более одного окна или оболочки. Я хотел бы, чтобы мое приложение уведомляло пользователей с помощью окна без рамки, которое отображается в нижней правой части экрана (например, уведомление MSN), но все еще использует идею представления видов в область и т. Д.

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

Итак, возможно ли это?

Ответы [ 2 ]

3 голосов
/ 14 февраля 2010

Вы также можете просмотреть следующий пост:

Надеюсь, это поможет,

Иезекииль Джадиб

3 голосов
/ 18 ноября 2008

Я пользуюсь Composite wpf в течение нескольких месяцев и не вижу причин, по которым вы не сможете выполнять то, что вы просите.

Я бы, вероятно, не пошел по пути нескольких оболочек, есть «проект Composite wpf contrib», который определяет «WindowRegionAdaptor», который должен облегчать показ представлений в отдельных окнах (см. Здесь: http://www.codeplex.com/CompositeWPFContrib) Я не использовал его, но использовал некоторые другие элементы, и они работают так, как рекламируется. Хотя в настоящее время документация на некоторых из них не существует, форумы могут быть полезны.

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

eventAggregator.GetEvent<MainWindowShowEvent>().Publish(false);

, на который ShellPresenter может подписаться и вызвать представление оболочки, чтобы скрыть при получении:

eventAggregator.GetEvent<MainWindowShowEvent>().Subscribe(b => View.Show(b) );

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

надеюсь, что это поможет - все не проверено

Trev

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