WPF项目引入Prism框架(Prism.Unity)

1. VS(本文使用的是VS2017)创建WPF 应用(.Net Framework),命名为Prism.Client;

   

2. 添加Prism.Unity的引用,可通过Nuget添加,会直接引入所需的依赖项:

右键项目 =》管理Nuge程序包 =》浏览=》Prism.Unity 点击安装。安装完成后,会自动引入Prism、Prism.Unity.WPF和Pism.Wpf三个引用。

 

3. 修改App.xaml

  • 添加命名空间 xmlns:prism="http://prismlibrary.com/"
  • WPF标准Application替换为prism:PrismApplication
  • 移除startUpUrl属性
<prism:PrismApplication x:Class="Prism.Client.App"
                        xmlns="http://schemas.microsoft.com/winfx/2006/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                        xmlns:prism="http://prismlibrary.com/"
                        xmlns:local="clr-namespace:Prism.Client">
                <Application.Resources>
                </Application.Resources>
</prism:PrismApplication>

4. 修改App.xaml.cs

  • 将继承的基类由Application更改为PrismApplication;
  • 重写CreatShell和RegisterTypes两个方法
  • CreatShell创建主窗口(使用的是默认的MainWindow),删除RegisterTypes中的异常
1
2
3
4
5
6
7
8
9
10
11
12
public partial class App:PrismApplication
{
    protected override Window CreateShell()
    {
        return Container.Resolve<MainWindow>();
    }
     
    protected override void RegisterTypes(IContainerRegistry containerRegistry)
    {
         
    }
}

5. 程序成功启动运行,完工。

 

posted @   Logan1418  阅读(1457)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示