Prism:模块(module)
Prism:模块(module)
什么是模块?
本质上来说, 对于一个应用程序而言, 特定功能的所有View、Service等都可以独立存在。那么意味着, 每个独立的功能我们都可以称之为模块。
创建模块
自动创建,适应pack包,创建后默认版本是.Net6,Prism是8.1.97。(注意:与主程序框架里面的版本均需一致)

加载模块
我通常用两个方法:
1.手动引用

这样的好处是可以在模块更新的同时方便调试,不好就是后期不方便与测试
2.XAML配置模块目录
在App.Xaml里面


注意:dll设置为允许复制,这样就可以输出到Debug里面了。
模块注册视图
我们可以通过依赖注入的方式,使用IRegionManager接口来向指定区域注册视图:
public class ModuleAModule : IModule
{
private readonly IRegionManager _regionManager;
public ModuleAModule(IRegionManager regionManager)
{
_regionManager = regionManager;
}
public void OnInitialized(IContainerProvider containerProvider)
{
_regionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA));
}
public void RegisterTypes(IContainerRegistry containerRegistry)
{
}
}
在模块里面注册一个区域导航

这里使用了 RegisterForNavigation 方法来注册 ViewA 视图和 ViewAViewModel 视图模型。这表明 ViewA 可以被导航到,并且 ViewAViewModel 将作为 ViewA 的数据上下文。

浙公网安备 33010602011771号