2010-08-30 3 views
0

в моем тестовом приложении ModuleCatalog заполняется из указанного каталога всеми моими модулями. Я хотел бы добавить имя всех этих moudles в Меню как menuitems, например. если у меня есть 3 модуля в каталоге, в меню будут отображаться 3 элемента меню с именем модулей. Я думал, что могу получить список ModuleInfo, как показано ниже. Но miList показывает 0 счет. В чем проблема?PRISM/CAL ModuleCatalog Вопрос - привязка модулей к меню

protected override void ConfigureModuleCatalog() 
    { 
      DirectoryModuleCatalog directoryCatalog = new DirectoryModuleCatalog() 
                 { ModulePath = @".\Modules" }; 

      ((AggregateModuleCatalog)ModuleCatalog).AddCatalog(directoryCatalog); 
      List<ModuleInfo> miList = ModuleCatalog.Modules.ToList() ; // returns 0 items ?? 
    } 

ответ

0

Список модулей будет заселенных после InitializeModules закончилась позже в процессе самонастройки. InitializeModules вызывает ModuleManager.Run().

Вы можете заполнить свое меню в своей оболочке после его загрузки (получить модуль ModuleCatalog через ServiceLocator.Current). Вы также можете заполнить свое меню в событии OnPopup.