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.

Другие вопросы по тегам