目录
1. 创建项目
打开Visual Studio 2022,创建WPF应用程序。
填写解决方案名称和项目名称。
在框架下拉列表中选择.NET 6.0
项目结构创建完成。
2. 引入Prism
NuGet安装依赖 分别是: Prism.Unity、Prism.Unity.Extensions和 和Unity.Microsoft.DependencyInjection
App.xaml添加命名空间 xmlns:prism="http://prismlibrary.com/"
App.xaml修改 prism:PrismApplication
完成以上操作后App.xaml源码
<prism:PrismApplication x:Class="Application"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyWpfApp"
xmlns:prism="http://prismlibrary.com/"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</prism:PrismApplication>
修改App.xaml.cs源码
using Prism.Ioc;
using Prism.Unity;
using System.Windows;
namespace MyWpfApp
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : PrismApplication
{
protected override Window CreateShell()
{
return Container.Resolve<Window>();
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
}
}
}
3. 引入Material Design
NuGet安装依赖 MaterialDesignThemes
App.xaml添加命名空间和Application.Resources
<prism:PrismApplication x:Class="MyWpfApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyWpfApp"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:prism="http://prismlibrary.com/"
StartupUri="MainWindow.xaml">
<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>
</prism:PrismApplication>
4. 验证引入结果
修改MainWindow.xaml添加button控件
<Window x:Class="MyTodo.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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MyTodo"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Button Content="button1" />
</Grid>
</Window>
启动展示验证
样式生效