Как добавить представления для управления элементами в Prism с помощью MEF и WPF

У меня есть приложение, которое пока имеет только 2 просмотра. Представление 1 представляет собой список, а второе - подробное представление (как только вы выбрали элемент в представлении 1.

Я установил регион в своей оболочке Prism и могу загрузить свои модули. Я хочу, чтобы только модуль 1 загружался изначально. Когда я выбрал элемент из 1, я хочу перейти к 2 (который затем появится в моем элементе управления (который, кстати, является элементом управления вкладками).

Проблема у меня заключается в том, что я либо получаю а) оба представления изначально отображаются в моей вкладке управления.

б) Если я изменю атрибут экспорта в модуле представления b для инициализации по требованию, то при нажатии кнопки навигации для просмотра b ничего не произойдет.

Любая помощь приветствуется. Благодарю.

1 ответ

Решение

Я справился с этим, позволив открыть все виды, но при инициализации вида я деактивирую все взгляды, принимаю тот, который мне интересен. Конечно, я ищу лучший способ:)

foreach (var view in RegionManager.Regions["RegionFoo"].Views)
{
  if (view.GetType() == initialViewType)
  {
     RegionManager.Regions["RegionFoo"].Activate(view);
  }
  else
  {
     RegionManager.Regions["RegionFoo"].Deactivate(view);
  }
}

Я делаю это после того, как в этом регионе были зарегистрированы представления о недоброжелательности. initialViewType - это тип представления, которое вы хотите найти. Это предполагает только один вид.

Другие вопросы по тегам