开源C# WPF控件库:MahApps.Metro 介绍
MahApps.Metro 项目仓库:Here
个人调试仓库:GitHub
根据仓库例子,采用Prism的MvvM框架手动coding过一遍:
1 下载相应Nuget包
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MahApps.Metro" Version="2.4.10" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.11.0" />
<PackageReference Include="Prism.Unity" Version="8.1.97" />
</ItemGroup>
</Project>
2 App.xaml
<prism:PrismApplication x:Class="PlayWithMahApps.MetroForWork.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:PlayWithMahApps.MetroForWork"
xmlns:prism="http://prismlibrary.com/" >
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Blue.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</prism:PrismApplication>
using Prism.Ioc;
using Prism.Regions;
using SelectNeidTool.Views;
using SelectNiedTool.Views;
using System.Windows;
namespace SelectNiedTool
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App
{
protected override Window CreateShell()
{
var window = Container.Resolve<MainWindow>();
//window.Loaded += (sender, args) =>
//{
// var manager = this.Container.Resolve<IRegionManager>();
// manager.RequestNavigate("ContentRegion", "DRWindows");
//};
return window;
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigati