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 3 UWP XAML & WinUI 2 WPF WinForms MFC
支持的 Windows 应用类型 Desktop UWP Desktop Desktop Desktop
支持的 Windows 版本 Win10, 1809+

Win11 (all)
Win10, 1703+

Win11 (all)
Windows XP or higher Windows XP or higher Windows 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 Docsicon-default.png?t=M276https://docs.microsoft.com/zh-CN/visualstudio/releases/2022/release-notes

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 应用。icon-default.png?t=M276https://docs.microsoft.com/zh-cn/windows/apps/package-and-deploy/#apps-that-use-the-windows-app-sdk

五、总结

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

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

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

猜你喜欢

转载自blog.csdn.net/bashendixie5/article/details/123481895