Visual Studio 中的 WinUI 3 模板

设置开发计算机后(请参阅安装适用于 Windows 应用 SDK 的工具),即可在 Visual Studio 中通过其中一个 WinUI 3 项目模板开始创建 WinUI 3 应用。 本主题介绍可用的项目和项模板。 然后创建你的第一个 WinUI 3 项目会演练如何创建项目。

若要访问 WinUI 3 项目模板,在“新建项目”对话框的下拉筛选器中,分别选择“C#”/“C++”、“Windows”和“WinUI”。 或者可以搜索“WinUI”并选择一个可用的 C# 或 C++ 模板。

WinUI project templates

适用于 WinUI 3 的项目模板

可以使用这些 WinUI 3 项目模板开始创建应用。

打包的空白应用(桌面版 WinUI 3)

此项目模板使用基于 WinUI 3 的用户界面创建桌面 .NET (C#) 或本机 Win32 (C++) 应用。 生成的项目包括一个基本窗口,该窗口派生自 WinUI 3 库中的 Microsoft.UI.Xaml.Window 类,可用于生成 UI。 若要详细了解如何使用此项目模板,请参阅创建你的第一个 WinUI 3 项目

此项目模板的功能因 Windows 应用 SDK 扩展的版本而异。

  • 版本 1.0 预览版 2:从此版本开始,此项目模板生成的应用程序项目会具有将应用生成为 MSIX 程序包所需的程序包清单和其他支持,而无需使用单独的打包项目。 若要使用此项目模板,还必须安装适用于 Visual Studio 的单项目 MSIX 打包工具扩展

    注意

    在版本 1.0 预览版 2 及更高版本中,此项目模板仅在生成的 MSIX 程序包中支持单个可执行文件。 如果需要将多个可执行文件合并到单个 MSIX 程序包中,则需要使用“使用 Windows 应用程序打包项目打包的空白应用(桌面版 WinUI 3)”项目模板或向解决方案添加 Windows 应用程序打包项目。

  • 版本 1.0 预览版 1 及更早版本:在这些版本中,此项目模板生成的解决方案具有单独的 Windows 应用程序打包项目,它配置为将应用生成为 MSIX 程序包。 可以选择安装适用于 Visual Studio 的单项目 MSIX 打包工具扩展,并将打包项目设置合并到应用程序项目中,以便不再需要维护单独的打包项目。

空白应用,使用 Windows 应用程序打包项目(桌面中的 WinUI 3)打包

此项目模板在版本 1.0 预览版 1 及更高版本中提供。 它使用基于 WinUI 3 的用户界面创建桌面 .NET (C#) 或本机 Win32 (C++) 应用。 生成的项目包括一个基本窗口,该窗口派生自 WinUI 3 库中的 Microsoft.UI.Xaml.Window 类,可用于生成 UI。 若要详细了解如何使用此项目模板,请参阅创建你的第一个 WinUI 3 项目

此解决方案还包括一个独立的 Windows 应用程序打包项目,该项目经配置后可将应用生成为 MSIX 包。 可以选择安装适用于 Visual Studio 的单项目 MSIX 打包工具扩展,并将打包项目设置合并到应用程序项目中,以便不再需要维护单独的打包项目。

[实验性] 空白应用(UWP 版 WinUI 3)

此项目模板创建具有基于 WinUI 3 的用户界面的 C# 或 C++ UWP 应用。 生成的项目包括一个基础页面,该页面派生自 WinUI 3 库中的 Microsoft.UI.Xaml.Controls.Page 类,可用于生成 UI。 有关此项目模板的详细信息,请参阅创建第一个 WinUI 3 应用

其他组件的 WinUI 项目模板

可以使用这些 WinUI 3 项目模板来构建可由基于 WinUI 3 的应用加载和使用的组件。

模板 Language 说明
类库(桌面版 WinUI 3) 仅限 C# 使用 C# 创建一个 .NET 托管类库 (DLL),使其可由具有基于 WinUI 3 的用户界面的其他 .NET 5 桌面应用使用。
[实验性] 类库(UWP 版 WinUI 3) 仅限 C# 使用 C# 创建一个托管类库 (DLL),使其可由具有基于 WinUI 3 的用户界面的其他 UWP 应用使用。
Windows 运行时组件 (WinUI 3) C++ 创建一个用 C++/WinRT 编写的 Windows 运行时组件,使其可由任何具有基于 WinUI 3 的用户界面的 UWP 或桌面应用使用,而无论这些应用使用何种编程语言编写。
[实验性] Windows 运行时组件(UWP 版 WinUI 3) C# 创建一个用 C# 编写的 Windows 运行时组件,使其可由任何具有基于 WinUI 3 的用户界面的 UWP 应用使用,而无论这些应用使用哪种编程语言编写。

适用于 WinUI 3 的项模板

下列项模板适合在 WinUI 3 项目中使用。 若要访问这些 WinUI 3 项模板,请在“解决方案资源管理器”中右键单击项目节点,选择“添加”->“新建项”,然后在“添加新项”对话框中单击“WinUI”。

WinUI item templates

注意

如果已安装实验性渠道或较旧预览版的 Windows 应用 SDK,你可能会看到另一组具有 [实验性] 前缀的项模板。 如果要生成非生产/预览版应用,我们建议使用这些 [实验性] 项模板,如果要生成生产桌面应用,建议使用未标记的稳定项模板。

模板 Language 说明
空白页 (WinUI 3) C# 和 C++ 添加一个 XAML 文件和定义了新页面的代码文件,该页面派生自 WinUI 3 库中的 Microsoft.UI.Xaml.Controls.Page 类。
空白窗口(桌面版 WinUI 3) C# 和 C++ 添加一个 XAML 文件和定义了新窗口的代码文件,该窗口派生自 WinUI 3 库中的 Microsoft.UI.Xaml.Window 类。
自定义控件 (WinUI 3) C# 和 C++ 添加用于创建具有默认样式的模板化控件的代码文件。 该模板化控件派生自 WinUI 3 库中的 Microsoft.UI.Xaml.Controls.Control 类。

有关如何使用该项目模板的演练,请参阅使用 C++/WinRT 将 UWP 和 WinUI 3 应用的 XAML 控件模板化使用 C# 将 UWP 和 WinUI 3 应用的 XAML 控件模板化。 有关模板化控件的详细信息,请参阅自定义 XAML 控件
资源字典 (WinUI 3) C# 和 C++ 添加 XAML 资源的空键控集合。 有关详细信息,请参阅 ResourceDictionary 和 XAML 资源参考
资源文件 (WinUI 3) C# 和 C++ 添加用于存储应用的字符串和条件资源的文件。 可以借助此项对应用程序进行本地化。 有关详细信息,请参阅对 UI 和应用包清单中的字符串进行本地化
用户控件 (WinUI 3) C# 和 C++ 添加一个 XAML 文件和用于创建用户控件的代码文件,该用户控件派生自 WinUI 3 库中的 Microsoft.UI.Xaml.Controls.UserControl 类。 通常,用户控件封装相关的现有控件并提供其自己的逻辑。

有关用户控件的详细信息,请参阅自定义 XAML 控件

请参阅