Регистрация регионов - PullRequest
0 голосов
/ 02 марта 2012

Используя Prism, у меня есть проект ИНФРАСТРУКТУРА, где у меня есть представление с двумя регионами:

  • ContentRegion
  • SidebarRegion

enter image description here

Нет никаких проблем в SidebarRegion, потому что это особенное представление этого проекта. Но ContentRegion отличается, у меня есть другие модули, такие как ModuleA, ModuleB, и они содержат представление, которое должно быть показано в ContentRegion.

Я имею в виду, ИНФРАСТРУКТУРА ПРОЕКТА содержит общий вид. А в другом модуле содержится представление, которое должно быть показано в ContentRegion

Я использую Prism и UNITY. Можете ли вы сориентировать меня, как я могу это сделать? Я думаю, мне нужно зарегистрировать представления, но я потерян.

1 Ответ

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

Вы должны быть в состоянии передать Region Manager и контейнер Unity модулям через конструктор. Затем вы можете использовать их для регистрации ваших представлений в методе Initialize, например:

public class ModuleA : IModule
{
    private readonly IUnityContainer _container;
    private readonly IRegionManager _regionManager;

    public ModuleA(IUnityContainer container, IRegionManager regionManager)
    {
        _container = container;
        _regionManager = regionManager;
    }

    public void Initialize()
    {
        _regionManager.RegisterViewWithRegion("ContentRegion",
            () => _container.Resolve<NameOfYourView>());
    }
}

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

...