silverlight - 使用 MEF Prism 和 Silverlight 按需加载模块

标签 silverlight mvvm prism mef ondemand

您好我有一个使用 MVVM 模式和 Prism 设计的 Silverlight 应用程序。

它有许多模块,我只想在用户通过身份验证后加载。

为此,我创建了一个登录模块,它获取客户端凭据并处理身份验证。用户通过身份验证后,我希望 MEF 加载其余模块。我的问题是如何做到这一点?

模块目录在 xaml 中定义,除登录模块外的所有模块都设置为 OnDemand 初始化。据我所知,模块只能从 shell 加载,这在我的情况下不起作用,因为加载它们的调用将来自 loginmodules View 模型。

任何想法将不胜感激,谢谢。

最佳答案

Prism 提供了一个 IModuleManager,您可以通过 MEF 或 Unity 导入它,然后使用它来加载模块。

    [ImportingConstructor]
    public MyViewModel(IModuleManager moduleManager)
    {
        this.moduleManager = moduleManager;
        this.moduleManager.LoadModule("ModuleA");
    }

关于silverlight - 使用 MEF Prism 和 Silverlight 按需加载模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403711/

相关文章:

c# - 在 CodeBehind 上使用 XAML 样式

c# - MVVM - 在 View 中显示来自多个模型实体的消息

c# - WPF ItemsControl 按钮命令绑定(bind)不起作用

silverlight - Silverlight 2.0是可行的游戏开发平台吗?

c# - 在 SilverLight 中上传文件?

silverlight - 如何将KeyUp/down绑定(bind)到按钮Click事件?

wpf - MVVM中驱动视觉状态的正确方法

silverlight - 使用 Prism 进行事件订阅,给出方法访问异常

unit-testing - 为什么我的EventAggregator订阅不处理此事件?

silverlight - silverlight prism/unity中的内存泄漏