Я создаю демонстрационное приложение Prism 4 для изучения новой инфраструктуры, уделяя особое внимание переключению видов. Приложение имеет несколько областей, одна из которых - это ItemsControl, который содержит одну или несколько кнопок из текущего активного модуля.
Я регистрирую кнопки с помощью диспетчера регионов в методе Initilize()
каждого модуля. Вот регистрационный код для первого модуля:
RegionManager.RegisterViewWithRegion("ButtonRegion", typeof(ModuleAButton1));
RegionManager.RegisterViewWithRegion("ButtonRegion", typeof(ModuleAButton2));
Второй модуль регистрирует свои кнопки таким же образом. Я использую RequestNavigate()
для переключения между двумя модулями.
Вот моя проблема: кнопки из обоих модулей видны в ItemsControl
, а не только кнопки из активного модуля. Я подумывал изменить ItemsControl
на ContentControl
и поместить кнопки в StackPanel
, но по причинам, которые я не буду вам здесь утомлять, это не сработает для меня. Что мне нужно сделать, это либо:
Загрузите кнопки, когда модуль активирован, и выгрузите их, когда я переключаюсь на другой модуль, или
Показывать кнопки, когда модуль активирован, и скрывать их при переключении на другой модуль.
Как мне это сделать в Призме 4? Спасибо за вашу помощь.