Я создал приложение, используя PRISM и его функции навигации. В этом приложении есть основной регион, в котором Context
содержит текущего зарегистрированного пользователя. В этом регионе я динамически загружаю представления, используя RegionManager.RequestNavigate
. Представления содержат другие представления с отдельными моделями представления. Все в порядке, за исключением того, что основные виды существуют все время приложения, и когда я выхожу из вида и возвращаюсь назад, вид такой же, как был, то есть он больше не будет создаваться. Что я сделал: в моделях основного вида я реализовал INavigationAware
с IsNavigationTarget
, установленным в false. Представления создаются каждый раз, но есть исключение о том, что «может создать вложенную область, поскольку она уже зарегистрирована». Затем в модели основного вида я реализовал IRegionMemberLifetime
с установленным KeepAlive
в false. Это все хорошо, но при переходе от вида к нему и к нему снова основные регионы Context
теряют свое содержание.
Как я могу это исправить?
Спасибо
UPDATE
Я подготовил рабочий образец PrismNavigationSample.zip для полного понимания моего вопроса.
Попробуйте это в обоих проектах: перейдите к первому виду, измените значение ползунка, вернитесь назад и снова вернитесь к первому виду. Также см. Значение контекста в окне выше.