c# 了解WinUI 3 并创建体验项目

一、什么是WinUI

1、概述

        WinUI 3 是下一代 WinUI 框架,现在可用于生产应用程序。它将 WinUI 显着扩展为完整的 UX 框架,并作为Windows App SDK的一部分提供. 借助 WinUI 3,现代控件、样式和功能将可用于 Windows 11 和 Windows 10 上的应用程序。

        WinUI 3.0是 WinUI 2.0 的重大更新,它将极大地扩展 WinUI 的范围以包含完整的 Windows 10 原生 UI 平台,该平台现在将与 UWP SDK 完全解耦。这意味着您将能够使用 WinUI 3.0 创建桌面应用程序,就像现在使用 WPF 或 WinForms 一样。

2、和之前的技术比较

能力/特点WinUI 3UWP XAML & WinUI 2WPFWinFormsMFC
支持的 Windows 应用类型DesktopUWPDesktopDesktopDesktop
支持的 Windows 版本Win10, 1809+

Win11 (all)
Win10, 1703+

Win11 (all)
Windows XP or higherWindows XP or higherWindows XP or higher
Native C/C++支持支持支持
.NET 5 支持支持支持支持
WebView2
(基于 Chromium 的引擎)
支持 支持* 支持*
内置 Fluent Design 控件支持支持
内置支持现代输入
(例如触摸、笔、游戏手柄)
支持支持
使用最新的 DirectX 版本来提高图形性能支持支持
高性能数据绑定
(x:Bind)
支持支持

3、它与一般的 UWP 应用程序有何不同? 

        基本上,它是一个 UWP 应用程序,预先添加了对 Microsoft.UI 程序集 (WinUI3.0) 的引用。 

        区别一在于 WinUI 3.0 API 位于 Microsoft.UI 命名空间而不是 Windows.UI 命名空间中,因此在复制和粘贴示例代码时可能需要更新命名空间。同样,使用来自 Windows.UI.Xaml 的 UI 控件的库和组件与 WinUI 3.0 不兼容,必须更新到 Microsoft.UI.Xaml。 

        区别二权限方面是 WinUI 的一个亮点,没有太多束缚的感觉。

二、环境搭建

1、IDE

        推荐使用Visual Studio 2022,下载地址。

Visual Studio 2022 版本 17.1 发行说明 | Microsoft Docshttps://docs.microsoft.com/zh-CN/visualstudio/releases/2022/release-notes

        如果使用 Visual Studio 2019,则需要安装两个单独的补丁,才可以创建WinUI项目,微软官方提供的下载特别慢。

        补丁见下面网址

安装适用于 Windows 应用 SDK 的工具 - Windows apps | Microsoft Docs通过安装适当的工具来配置开发计算机,以便使用 Windows 应用 SDK 开发适用于 Windows 的应用。https://docs.microsoft.com/zh-cn/windows/apps/windows-app-sdk/set-up-your-development-environment?tabs=vs-other%2Cvs-2019        也可以从此百度网盘下载,支持c++和c#的两个补丁。

链接:https://pan.baidu.com/s/1vMlIKmSddYhEn0tFuuxJTg 
提取码:20vj

2、需要的组件

(1)在安装对话框的“工作负载”选项卡上,选择:

        通用 Windows 平台开发
        然后,在该工作负荷的安装对话框的 "安装详细信息" 窗格中,确保已选择 " c + + (v143) " 通用 Windows 平台工具"。
        用于 C# 应用开发的 .NET 桌面开发
        然后,在安装对话框的“安装详细信息”窗格中,选择“Windows 应用 SDK C# 模板”(位于列表底部)。
        用于 C++ 应用开发的 C++ 桌面开发
        然后,在安装对话框的“安装详细信息”窗格中,选择“Windows 应用 SDK C++ 模板”(位于列表底部)。
(2)在安装对话框的 "单个组件" 选项卡上,在 " sdk、库和框架" 部分中,确保选中Windows 10 SDK (10.0.19041.0) 。

三、创建项目

        1、在 Visual Studio 中,选择“文件”“新建”“项目”。在“新建项目”对话框的下拉筛选器中,分别选择“C#或C++”、“Windows”和“WinUI”。

        2、输入项目名称,根据需要选择任何其他选项,然后单击“创建”。

        3、Visual Studio 生成的项目包含应用的代码。 App.xaml 文件和代码隐藏文件 定义了一个 Application 类,它表示正在运行的应用。 MainWindow.xaml 文件和代码隐藏文件定义了一个 MainWindow 类,它表示应用显示的主窗口。 这些类派生自 WinUI 3 提供的 Microsoft.UI.Xaml 命名空间中的类型。

        4、该项目还包括用于将应用生成到 MSIX 包的包清单。

四、其它说明

        在创建项目的时候,可以看到第一个是已打包,最后一个是使用Windows应用程序打包项目打包,区别如下。

        打包的应用:打包的应用是使用 MSIX 打包的。 MSIX 是一种包格式,为最终用户提供了一种使用新式 UI 安装、卸载和更新其 Windows 应用的便捷方式。
        未打包的应用:未打包的应用不使用 MSIX。 它们通常使用 .exe 或 .msi 文件来安装和更新。 许多未打包的应用使用经典 UI 来引导最终用户完成安装向导。

        打包和部署参考官方网址

打包和部署 - Windows apps | Microsoft Docs了解如何打包和部署 Windows 应用。https://docs.microsoft.com/zh-cn/windows/apps/package-and-deploy/#apps-that-use-the-windows-app-sdk

        MSIX 打包的优点和缺点

部署概述 - Windows apps | Microsoft Docs本部分的主题介绍有关部署不同类型 Windows 应用的指导。 首先需要决定是否要对应用进行 MSIX 打包。icon-default.png?t=M7J4https://docs.microsoft.com/zh-cn/windows/apps/package-and-deploy/

​​​​​​​五、总结

  • UWP 是 Windows API 子集的名称,但通常用作在此 API 上运行的沙盒应用程序的简写。

  • WinUI 是适用于 Windows 的现代图形框架。

  • Windows App SDK - 未来,单一 SDK 适用于 Windows 上的任何应用程序,无论语言如何,并且能够在不同的应用程序生命周期之间切换

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐望云起

如果觉得有用,请不吝打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值