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
的数据上下文。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)