1、安装
NgGet 中输入 prism,在列表中选择 Prism.Unity ,版本选择8.1.97
2.改 App.xaml 文件
先引入命名空间
xmlns:p="http://prismlibrary.com/"
再改成这样
<p:PrismApplication x:Class="Cjh.PrismWpf.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Cjh.PrismWpf"
xmlns:p="http://prismlibrary.com/"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</p:PrismApplication>
生成一下项目,这个很重要
左再左边的【实现抽象类】
using Prism.Ioc;
using Prism.Unity;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
namespace Cjh.PrismWpf
{
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : PrismApplication
{
protected override Window CreateShell()
{
throw new NotImplementedException();
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
throw new NotImplementedException();
}
}
}
修改
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : PrismApplication
{
/// <summary>
/// 提供主窗口的对象
/// </summary>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
protected override Window CreateShell()
{
return new MainWindow() { Title = "PrismMainWindow" };
}
/// <summary>
/// 业务中所有需要注入的对象,在这个方法里注册
/// </summary>
/// <param name="containerRegistry"></param>
/// <exception cref="NotImplementedException"></exception>
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
}
}
启动程序测试一下
如果会出现两个窗口,可能是APP.xaml文件里的问题
可以直接删除
<p:PrismApplication x:Class="Cjh.PrismWpf.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Cjh.PrismWpf"
xmlns:p="http://prismlibrary.com/">
<Application.Resources>
</Application.Resources>
</p:PrismApplication>