PRISM/CAL Module Каталог вопроса - привязка модулей к меню
В моем тестовом приложении ModuleCatalog заполняется из указанного каталога со всеми моими модулями в нем. То, что я хотел бы сделать, это добавить название всех этих moudles в меню в качестве пунктов меню, например, если у меня есть 3 модуля в каталоге, меню покажет 3 элемента меню с названием модулей. Я думал, что смогу получить список ModuleInfo, как показано ниже. Но miList показывает 0 отсчета. В чем здесь проблема?
protected override void ConfigureModuleCatalog()
{
DirectoryModuleCatalog directoryCatalog = new DirectoryModuleCatalog()
{ ModulePath = @".\Modules" };
((AggregateModuleCatalog)ModuleCatalog).AddCatalog(directoryCatalog);
List<ModuleInfo> miList = ModuleCatalog.Modules.ToList() ; // returns 0 items ??
}
1 ответ
Список модулей будет заполнен после запуска InitializeModules позже во время процесса начальной загрузки. InitializeModules вызывает ModuleManager.Run().
Вы можете заполнить ваше меню в вашей оболочке после его загрузки (получить ModuleCatalog через ServiceLocator.Current). Вы также можете заполнить свое меню в событии OnPopup.