WPF - Prism - активировать и деактивировать представления в области ContentControl - PullRequest
2 голосов
/ 07 октября 2009

В моем приложении мне нужен только один вид, видимый за раз, поэтому я использую ContentControl в своей оболочке. Проблема в том, что если у меня есть один видимый вид (скажем, View1) и я активирую View2, все в порядке до этого момента. Теперь пользователь нажимает кнопку «Закрыть» в View2, после чего пользователи в итоге смотрят на пустой экран, так как в настоящее время нет активных видов. Я полагаю, что адаптер региона деактивирует активный в данный момент вид, прежде чем активировать следующий вид.

Как я могу убедиться, что ранее активный вид снова стал активированным (View1 из моего примера)? Нужен ли регион другого типа для достижения этой функциональности?

Заранее спасибо,

Али

1 Ответ

1 голос
/ 07 октября 2009

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

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

Вот исходный код поведения ActiveAware. Вы можете использовать эту модель в качестве отправной точки для поведения, которое делает то, что вы хотите, я вполне уверен. http://compositewpf.codeplex.com/SourceControl/changeset/view/26112#496678

...