一.开发环境准备
VisualStudio 2022
.NET SDK 7.0
Prism 版本 8.1.97
以上环境,如有新的版本,可自行选择安装新的版本
二.开始创建Wpf项目
1.打开VisualStudio 2022 ,选择创建新项目,选择 WPF应用程序。最后输入项目的名称为 MyToDo
2. 项目创建完成
3.选中项目依赖项,右键,点击NuGet 应用程序包.
4.然后搜索 下载Prism.DryIoc
5.Prism 包NuGet包安装完成后,开始修改App.xaml 入口文件
step1:App.xaml 引入Prism 命名空间 xmlns:prism="http://prismlibrary.com/"
step2:App.xaml 中修改Application节点标签成prism:PrismApplication
step3:App.xaml 的交互逻辑App.xaml.cs 文件,继承的Application 也改成PrismApplication
step4:删除App.xaml 前端页中的StartupUri="MainWindow.xaml"
按上面step(步骤) 进行修改,先修改 App.xaml文件
<prism:PrismApplication x:Class="MyToDo.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyToDo"
xmlns:prism="http://prismlibrary.com/">
<Application.Resources>
</Application.Resources>
</prism:PrismApplication>
再修改 App.xaml 的交互逻辑 App.xaml.cs文件。它必须要实现2个接口。如果不实现编译会报错。
CreateShell方法,创建启动页,跟App.xaml 的StartupUi是一样的作用,所以需要删掉App启动页,不然启动运行会有2个主窗口。
RegisterTypes方法,用于注入一些服务。例如:数据库服务,其他接口服务等等.具体这个注册怎么个用法,我现在也不懂,在往后学习当中。先了解这2个方法作用。
修改后的App.xaml.cs文件
namespace MyToDo
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : PrismApplication
{
/// <summary>
/// 创建启动页面
/// </summary>
/// <returns></returns>
protected override Window CreateShell()
{
return Container.Resolve<MainWindow>();
}
/// <summary>
/// 依懒注入的方法
/// </summary>
/// <param name="containerRegistry"></param>
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
}
}
}
修改完成后,把整个项目重新编译,如果不报错就修改正确了。
6.完成以上步骤后,还需要再到NuGet,安装 MaterialDesignThemes UI组件库
MaterialDesignThemes 组件库主要用来美化界面,类似前端开发使用一些UI库
打开 NuGet 安装
7.UI组件库安装完成后,在App.xaml 文件中,添加UI库命名空间并且引入UI库的资源文件
UI 库命名空间:
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
UI 库资源文件:
UI库资源文件使用方式,在git hub 仓库wiki都有说明.完成后以上方式后,就能正常使用了。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="DeepPurple" SecondaryColor="Lime" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
三.创建Web API 项目
Web API 项目主要是用于获取数据,提供给客户端MyToDo
- 添加Web API 项目
2.选择ASP.NET Core Web API
3.取消HTTPS 选项
主要原因是,开发环境勾选上HTTPS,到时候运行要提示你安装各种证书,因为HTTPS 提供了加密通信和证书验证,并且要手动配置证书啥的,开发环境这么搞就太麻烦了。大概就是这个意思。其他别问,我也不懂,百度大概是这么说的.
4.最终项目结构
Web Api 设置为启动项,运行起来就是以下这个效果了
MyToDo应用程序简介 | Day02 设计首页导航条 |
---|