使用visual studio创建WPF程序模板
打开visual studio2022,选择创建新项目
在筛选条件种选择C#,Windows,桌面,找到WPF 应用程序,然后一路点击下一步,最后选择.NET框架(当前长期支持版本位6.0,那么就选6.0作为示例),最后点击创建,visual studio自动为我们创建好了基础模板。
引入prism框架
visual studio上方的工具栏找到工具->NuGet包管理器->管理解决方案的NuGet程序包,搜索prism.dryioc,选中prism.dryioc进行安装
最后的呈现效果是这样子的。
使用prism框架
安装完prism框架后,需要修改一些模板的代码去使用框架
修改App.xaml.cs
将clsss App 的基类修改为PrismApplication并实现两个抽象方法,注意,PrismApplication是个抽象类,让VS一键override就行
using Prism.DryIoc;
using Prism.Ioc;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
namespace WpfApp1
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : PrismApplication
{
protected override Window CreateShell()
{
return Container.Resolve<MainWindow>();
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
}
}
}
RegisterTypes可以先不写,CreateShell这里需要一个主页,将模板种目前唯一的一个页面(MainWindow)作为主页拿来用
修改app.xaml
前面修改了App.xaml.cs的基类,那么app.xaml必受影响,所以这个文件也必须改。
首先引入命名空间 xmlns:prism=“http://prismlibrary.com/”,再把原来的Application换掉,然后去掉StartupUri=“MainWindow.xaml”。这一段代码的作用是启动的时候打开哪一个页面,但是prism在启动的时候另有处理(上面override的东西),如果不去掉,就会产生意料之外的事情。
<prism:PrismApplication
x:Class="WpfApp1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1"
xmlns:prism="http://prismlibrary.com/">
<Application.Resources />
</prism:PrismApplication>
给MainWindow添加点东西打开看看效果
<Window
x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp1"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="MainWindow"
Width="800"
Height="450"
mc:Ignorable="d">
<Grid>
<TextBox HorizontalAlignment="Center" FontSize="50">
这里是主页
</TextBox>
</Grid>
</Window>
桌面程序打开就是刚才写的主页啦
使用Visual Studio扩展创建prism程序
为了启动一个prism程序,创建WPF模板后还需要改代码,想想都累,那有没有可以创建正确模板的方法,那当然是有啦。
在visual studio种打开扩展->管理扩展并在联机种搜索Prism Template Pack,选中并下载。然后关闭刚才创建的解决方案,重新创建
我们的列表里多出这几个模板选项,那么选中Prism Full App(WPF)开始后续的Prism开发吧
在这里,继续选择DryIoc进行开发,点击CREATE PROJECT创建模板