MEF: один регион, несколько видов для отображения одновременно - PullRequest
0 голосов
/ 18 февраля 2011

Я пытаюсь построить модульное приложение, которое содержит приложение оболочки и последующие модули. Я хотел бы определить область навигации для модулей для отображения кнопки гиперссылки. Я назвал этот регион '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 Ответ

0 голосов
/ 18 февраля 2011

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

<ItemsControl.ItemsPanel>
     <ItemsPanelTemplate>
        <toolkit:WrapPanel />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
...