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>(); }
未完。。。。。