一.開發(fā)環(huán)境準備
VisualStudio 2022
.NET SDK 7.0
Prism 版本 8.1.97
以上環(huán)境,如有新的版本,可自行選擇安裝新的版本
二.開始創(chuàng)建Wpf項目
1.打開VisualStudio 2022 ,選擇創(chuàng)建新項目,選擇 WPF應用程序。最后輸入項目的名稱為 MyToDo

2. 項目創(chuàng)建完成

3.選中項目依賴項,右鍵,點擊NuGet 應用程序包.

4.然后搜索 下載Prism.DryIoc

5.Prism 包NuGet包安裝完成后,開始修改App.xaml 入口文件
step1:App.xaml 引入Prism 命名空間 xmlns:prism="http://prismlibrary.com/"
step2:App.xaml 中修改Application節(jié)點標簽成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文件。它必須要實現(xiàn)2個接口。如果不實現(xiàn)編譯會報錯。
CreateShell方法,創(chuàng)建啟動頁,跟App.xaml 的StartupUi是一樣的作用,所以需要刪掉App啟動頁,不然啟動運行會有2個主窗口。
RegisterTypes方法,用于注入一些服務。例如:數(shù)據(jù)庫服務,其他接口服務等等.具體這個注冊怎么個用法,我現(xiàn)在也不懂,在往后學習當中。先了解這2個方法作用。
修改后的App.xaml.cs文件
namespace MyToDo
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : PrismApplication
{
/// <summary>
/// 創(chuàng)建啟動頁面
/// </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 組件庫主要用來美化界面,類似前端開發(fā)使用一些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>
三.創(chuàng)建Web API 項目
Web API 項目主要是用于獲取數(shù)據(jù),提供給客戶端MyToDo
- 添加Web API 項目

2.選擇ASP.NET Core Web API

3.取消HTTPS 選項
主要原因是,開發(fā)環(huán)境勾選上HTTPS,到時候運行要提示你安裝各種證書,因為HTTPS 提供了加密通信和證書驗證,并且要手動配置證書啥的,開發(fā)環(huán)境這么搞就太麻煩了。大概就是這個意思。其他別問,我也不懂,百度大概是這么說的.

4.最終項目結(jié)構(gòu)

Web Api 設置為啟動項,運行起來就是以下這個效果了

| MyToDo應用程序簡介 | Day02 設計首頁導航條 |
|---|