【问题标题】:PRISM/CAL ModuleCatalog question - binding Modules to a MenuPRISM/CAL ModuleCatalog 问题 - 将模块绑定到菜单
【发布时间】:2010-10-14 07:06:10
【问题描述】:

在我的测试应用程序中,ModuleCatalog 是从指定目录填充的,其中包含我的所有模块。我想做的是将所有这些模块的名称作为菜单项添加到菜单中,例如如果目录中有 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 ??
    }

【问题讨论】:

    标签: prism cal


    【解决方案1】:

    模块列表将在 InitializeModules 稍后在引导过程中运行后填充。 InitializeModules 调用 ModuleManager.Run()。

    你可以在你的 shell 加载后填充你的菜单(通过 ServiceLocator.Current 获取 ModuleCatalog)你也可以在 OnPopup 事件中填充你的菜单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多