MEF: один регион, несколько видов для отображения одновременно

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

<ItemsControl Name="NavigationRegion" prism:RegionManager.RegionName="NavigationRegion" />

Внутри метода инициализации каждого модуля я вызываю метод add области навигации:

public void Initialize() {
    regionManager.Regions["NavigationRegion"].Add(new Views.Navigation());
}

Все модули загружаются в загрузчик с помощью метода AggregateCatalog.Catalogs.Add:

this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Orders.OrderModule).Assembly));
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(People.PeopleModule).Assembly));

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

1 ответ

Решение

ItemsControl нужно что-то сказать, чтобы отображать несколько элементов:

<ItemsControl.ItemsPanel>
     <ItemsPanelTemplate>
        <toolkit:WrapPanel />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
Другие вопросы по тегам