wpf学习 Prism 使用入门

发布时间 2023-12-04 13:54:51作者: 无处不在-超超

一、手动添加

  1. 安装包 Prism.DryIoc
  2. 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     }
  3. 修改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/">


二、自动添加

  1. vs安装插件  Prism Template Pack
  2. 创建工程

 三、区域 模块 导航

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

 

 

未完。。。。。