Лучшие практики для компоновки оболочки и переключения представлений - Prism, SL4, модули загрузки по требованию - PullRequest
2 голосов
/ 21 марта 2010

Я изучаю Prism, и у меня есть вопрос о наилучшем подходе для основной оболочки.

Предполагается, что оболочка имеет 2 области: Панель инструментов, Главная. Панель инструментов имеет 3 основные кнопки, каждая из которых представляет отдельный модуль загрузки по требованию. Каждый из этих модулей в настоящее время регистрируется как подходящий в основном регионе.

Когда я нажимаю одну из кнопок, я хочу сделать следующее:

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

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

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

Одна из областей, в которых я застрял, заключалась в том, что при регистрации представления из модуля Initialize оно не добавляется со строго типизированным именем, поэтому при попытке определить, было ли мое представление уже добавлено в область с GetView (viewname) он всегда возвращает ноль, поэтому я заканчиваю тем, что добавляю другой регион в область.

1 Ответ

2 голосов
/ 21 сентября 2010

Хорошим подходом является регистрация всех видов в одном регионе (скажем, «MenuRegion»). Что касается проверки на грязные просмотры, вам может пригодиться этот пост от Брайана Нойеса:

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

Спасибо, Damian

...