![cover](https://img-blog.csdnimg.cn/ea3e4afc45694c71b231f3e886a41c3c.png)
WinUI3 快速入门
了解微软Windows10、Windows11最新的平台UI框架 WinUI3!
WinUI3 简介
Windows UI 库 (WinUI) 是适用于 Windows 桌面应用程序和 UWP 应用程序的本机用户体验 (UX) 框架。
通过将 Fluent Design 系统整合到所有体验、控件和样式中,WinUI 使用最新的用户界面 (UI) 模式提供一致、直观且可访问的体验。
通过对桌面应用和 UWP 应用的支持,可使用 WinUI 从头构建应用,也可以使用熟悉的语言(例如 C++、C#、Visual Basic 和 Javascript)通过用于 Windows 的 React Native 逐步迁移现有的 MFC、WinForms 或 WPF 应用。
WinUI 3 是本机 UI 平台组件,随附 Windows 应用 SDK(与 Windows 10 及更高版本 SDK 完全分离。) Windows 应用 SDK 提供了一组统一的 API 和工具,可用于创建面向 Windows 10 及更高版本且可发布到 Microsoft Store 的生产桌面应用。
上面的意思是 WinUI 3 提供了基于Window的UI组件,附着在Windows App SDK独立开发包中。并支持发布到Microsoft Store
的桌面程序, 且在今天已经支持WPF!
WinUI3 与 WinUI2 区别
安装开发环境
1. 安装Visual Studio
## 2. 安装工作负荷
点击上图中VS2022的修改按钮。勾选 通用 Windows平台开发
与 .Net桌面开发
!
2. 安装Windows应用SDK (WinUI)
Windows 应用 SDK 提供了各种 Windows API,其实现与 OS 分离,并通过 NuGet 包发布给开发人员。 Windows 应用 SDK 并不打算代替 Windows SDK。 Windows SDK 将继续按原样工作,并且 Windows 的许多核心组件将通过 API 不断改进,这些 API 通过 OS 和 Windows SDK 版本发布。 建议开发人员根据自己的工作节奏选用 Windows 应用 SDK。
截止目前,最新发布的 Window App SDK 最新稳定版本为1.0, 这里提供下载页。
使用WinUI3 SDK的三种方式:
- 通过扩展包的方式安装:安装WinUI3的项目模板以及引用SDK(本文将使用此方式!)
- 在项目Nuget引入: 在现有项目中引用SDK
- 安装程序: 对于未打包(Unpackage)的应用所必需的。
这个暂时没有研究过,应该是安装WinUI3的运行时,发布程序中不包含WinUI3的SDK, 有了解的朋友可以一起讨论下
创建WinUI3 项目
你将会得到如下项目结构
运行
这里需要特殊说下,WinUI3应用有两种生成方式,一种方式叫Package
打包了对应的库,另一个(Unpackge)反之。
看到一下的界面即表示你的WinUI3环境已经安装成功了!
Unpackage提示DllNotFoundException
我这里Unpackage下运行出现DllNotFoundException
,通过微软的Github上的Issue. 讨论链接
检查方法1: 确定项目TargetFramework
是否为 <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
检查方法2: 如果上面还会出现,在项目文件中 PropertyGroup添加如下,其实就是将程序独立发布
<!--This bundles the .NET Core libraries-->
<SelfContained>true</SelfContained>
<!--This bundles the WinUI3 components-->
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
Package(打包) Vs Unpackage(打包)
以下摘抄自微软的描述:
- 打包的应用:打包的应用是使用 MSIX 打包的。 MSIX 是一种包格式,为最终用户提供了一种使用新式 UI 安装、卸载和更新其 Windows 应用的便捷方式。
- 未打包的应用:未打包的应用不使用 MSIX。 它们通常使用 .exe 或 .msi 文件来安装和更新。 许多未打包的应用使用经典 UI 来引导最终用户完成安装向导。
通俗地讲:
这里MSIX可以理解为将程序打包为一个单文件包。并且单文件包中包含了引导程序启动入口。
未打包程序意味着不使用MSIX打包。则需要用户 自行安装 Window App SDK的运行时的 msix 包才能运行未打包应用, 然后直接双击运行exe! 未打包应用的 Windows 应用 SDK 部署指南
参考链接
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)