2010-08-30 17 views
0

Dans mon application de test, le ModuleCatalog est rempli à partir du répertoire spécifié avec tous mes modules. Ce que je voudrais faire est d'ajouter le nom de tous ces moudles à un menu comme menuitems, par exemple. si j'ai 3 modules dans le répertoire, le menu montrera 3 menuitems avec le nom des modules. Je pensais pouvoir obtenir la liste de ModuleInfo comme ci-dessous. Mais miList montre 0 compte. Quel est le problème ici?PRISM/CAL ModuleCatalog question - liaison de modules à un menu

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

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

Répondre

0

La liste des modules sera remplie après l'exécution ultérieure d'InitializeModules au cours du processus d'amorçage. InitializeModules appelle ModuleManager.Run().

Vous pouvez remplir votre menu dans votre shell après son chargement (récupérez le ModuleCatalog via le ServiceLocator.Current) Vous pouvez également renseigner votre menu dans l'événement OnPopup.