wpf学习 Prism 使用入门
一、手动添加
- 安装包 Prism.DryIoc
- app.xaml.cs 修改
继承基类为: PrismApplication
实现其中的抽象成员:CreateShell 用于指定启动的窗口类
1 public partial class App : PrismApplication 2 { 3 protected override Window CreateShell() 4 { 5 return Container.Resolve<MainWindow>();//默认启用的首页 6 } 7 8 protected override void RegisterTypes(IContainerRegistry containerRegistry) 9 { 10 //返回依赖注入容器 11 } 12 }
- 修改app.xaml
<prism:PrismApplication x:Class="PrismDemo.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:PrismDemo" xmlns:prism="http://prismlibrary.com/"> <Application.Resources /> </prism:PrismApplication>
其中需要修改原有的 Application为 prism:PrismApplication
增加行:xmlns:prism="http://prismlibrary.com/">
二、自动添加
- vs安装插件 Prism Template Pack
- 创建工程
三、区域 模块 导航
1.模块窗口定义
2.注册模块 依赖注入
protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterSingleton<IMessageService, MessageService>(); } protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog) { moduleCatalog.AddModule<ModuleNameModule>(); }
public void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterDialog<ViewC>(); containerRegistry.RegisterForNavigation<ViewA,ViewAViewModel>(); }
未完。。。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异