首页
/ 【亲测免费】 Windows UI 库 (WinUI) 使用教程

【亲测免费】 Windows UI 库 (WinUI) 使用教程

2026-01-16 09:37:19作者:盛欣凯Ernestine

项目介绍

Windows UI 库 (WinUI) 是一个开源项目,由微软维护,旨在为开发者提供最新的 Windows 10 原生控件和 Fluent 风格样式。WinUI 包含 UWP XAML 控件、密集控件样式和 Fluent 样式及材质等向后兼容的 Windows UI 特性。该项目是 Windows UI 库产品的一部分,旨在帮助开发者构建现代、美观且高性能的 Windows 应用程序。

项目快速启动

安装 WinUI 库

要开始使用 WinUI 库,首先需要在项目中安装 Microsoft UI Xaml 包。以下是通过 NuGet 安装的步骤:

使用 .NET CLI 安装

dotnet add package Microsoft.UI.Xaml --version 2.8.6

使用 Package Manager Console 安装

Install-Package Microsoft.UI.Xaml -Version 2.8.6

使用 PackageReference 安装

在项目文件中添加以下 XML 节点:

<PackageReference Include="Microsoft.UI.Xaml" Version="2.8.6" />

初始化 WinUI

在 App.xaml 文件中添加 WinUI 的资源:

<Application.Resources>
    <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
</Application.Resources>

在 App.xaml.cs 文件中初始化 WinUI:

if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.Xaml.Media.XamlCompositionBrushBase"))
{
    Windows.UI.Xaml.Application.Current.Resources.MergedDictionaries.Add(Microsoft.UI.Xaml.Controls.XamlControlsResources.GetDefault());
}

应用案例和最佳实践

应用案例

WinUI 被广泛应用于各种类型的 Windows 应用程序中,包括系统工具、开发者工具、终端模拟器等。例如,微软的 PowerToys 工具集就使用了 WinUI 来提供现代化的用户界面。

最佳实践

  1. 使用 Fluent 设计系统:确保应用程序的界面遵循 Fluent 设计系统的原则,以提供一致且现代的用户体验。
  2. 优化性能:利用 WinUI 提供的虚拟化支持来优化列表和网格的性能。
  3. 自定义控件样式:根据需要自定义控件样式,以确保应用程序的视觉一致性。

典型生态项目

PowerToys

PowerToys 是一个由微软维护的系统工具集,旨在提高 Windows 用户的工作效率。它使用了 WinUI 来提供现代化的用户界面和丰富的功能。

FluentTerminal

FluentTerminal 是一个基于 UWP 和 Web 技术的终端模拟器,它使用了 WinUI 来提供 Fluent 风格的用户界面和流畅的用户体验。

Uno Platform

Uno Platform 是一个开源项目,允许开发者使用 C# 和 XAML 构建跨平台的应用程序,包括移动、桌面和 WebAssembly。它集成了 WinUI,使得开发者可以轻松地将 Windows 应用程序移植到其他平台。

通过以上教程,您可以快速开始使用 WinUI 库,并了解其在实际项目中的应用和最佳实践。希望这些内容能帮助您构建出优秀的 Windows 应用程序。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
514
3.69 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
873
533
pytorchpytorch
Ascend Extension for PyTorch
Python
316
359
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
333
152
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.31 K
731
flutter_flutterflutter_flutter
暂无简介
Dart
757
181
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
67
20
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.05 K
519