Prism Sample 7 Modules LoadManual
这种模块是手动载入的,需要的时候手动加载。
在app.xaml.cs中注册为按需加载,代码
protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog) { var moduleAType = typeof(ModuleAModule); moduleCatalog.AddModule(new ModuleInfo() { ModuleName = moduleAType.Name, ModuleType = moduleAType.AssemblyQualifiedName, InitializationMode = InitializationMode.OnDemand }); }
其中最后行是指定手动加载。
在加载时,例中用了一个按钮来手动加载
public partial class MainWindow : Window { IModuleManager _moduleManager; public MainWindow(IModuleManager moduleManager) { InitializeComponent(); _moduleManager = moduleManager; } private void Button_Click(object sender, RoutedEventArgs e) { _moduleManager.LoadModule("ModuleAModule"); } }