Как создать вложенные регионы? - PullRequest
1 голос
/ 03 марта 2012

Я использую PRISM и Unity Container.

Я получил в своей оболочке TabControl с областью под названием MainRegion.

Затем у меня в другом проекте под названиемОбщий вид.Это представление содержит область ContentRegion и две кнопки под ней.

Используя этот общий проект, я создаю несколько модулей, которые ссылаются на общий проект.Когда я создаю новый модуль, мне нужно создать вид, куда он должен поместить его в ContentRegion из последнего проекта.

Пожалуйста, проверьте изображение ниже.

enter image description here

Я имею в виду каждый модуль, который я создаю, мне нужно создать представление для ContentRegion.

Я не знаю, как реализовать эту ситуацию, вы можете сориентировать меня?

1 Ответ

1 голос
/ 08 марта 2012

Сложно сказать, что вы пытаетесь сделать, основываясь на вашем вопросе, но я попробую. Похоже, что вы хотите, чтобы региональные руководители области.

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

public class ModuleA
{
   public ModuleA(IRegionManager regionManager) 
   {
      _shellRegionManager = regionManager;
   }
   public bool Initialize()
   {
      IRegion tabRegion = _shellRegionManager.Regions["tabRegion"];

      //You may actually want to use your container to resolve the common view, but 
      //I'm creating it here for demonstration sake.
      Object commonView = new CommonView();

      //This is the important part... setting the 3rd parameter to true gives us 
      //a new locally scoped region manager, so Prism won't complain about the fact
      //that the common view contains regions with names that have already been 
      //registered in other modules
      IRegionManager localRM = tabRegion.Add(new CommonView, "ModuleACommon", true);

      IRegion commonContentRegion = localRM.Regions["ContentRegion"];
      commonContentRegion.Add(new ModuleAView()); 

   }
   IRegionManager _shellRegionManager;
}
...