WinUI 3 桌面应用基于 Windows App SDK 构建,使用 MSIX 打包,支持 Win10 1809+ 和 Win11;需启用开发者模式、安装 VS2022 并勾选对应工作负载,创建时务必选用“Blank App, Packaged (WinUI 3 in Desktop)”模板。

WinUI 3 开发桌面应用,核心是用 Windows App SDK 构建 .NET 桌面程序(非 UWP),界面用 WinUI 3 控件,打包为 MSIX。它不依赖商店,能直接安装运行,适配 Windows 10 1809+ 和 Windows 11。
开发环境准备
确保三件事到位:
- 启用 Windows 开发者模式:设置 → 系统 → 关于 → 隐私与安全 → 开发人员选项 → 开发者模式(打开)
- 安装 Visual Studio 2022(推荐最新稳定版),安装时勾选:
- “.NET 桌面开发” 工作负载(含 Windows 应用 SDK 支持)
- “通用 Windows 平台开发” 工作负载(可选,但建议勾上,部分模板和工具依赖它)
- 确认已安装 Windows App SDK:VS 安装器通常自动带入;也可手动通过 扩展 → 管理扩展 → 搜索 “Windows App SDK” 更新到最新稳定版(如 1.5 或 1.6)
创建第一个 WinUI 3 桌面项目
关键点:选对模板,避免混淆 UWP 或旧版 Project Reunion。
- 打开 Visual Studio → “创建新项目”
- 搜索框输入 “WinUI”,或在筛选器中选择 语言=C#、平台=Windows、项目类型=WinUI
- 选择模板:“Blank App, Packaged (WinUI 3 in Desktop)”(注意名称里有 “Packaged” 和 “in Desktop”)
- 命名项目(如 MyDesktopApp)、选择路径,点击创建
- 弹出窗口中设置目标 Windows 版本(建议默认,如 Windows 11 22H2),最低版本保持 ≥10.0.17763(即 1809)
生成后,解决方案里会看到两个项目:一个是你写代码的 桌面应用项目(含 MainWindow.xaml),另一个是自动生成的 MSIX 打包项目(用于生成安装包)。
项目结构与入门代码
主要文件都在桌面项目中:
-
App.xaml / App.xaml.cs:应用生命周期入口,继承自
Microsoft.UI.Xaml.Application - MainWindow.xaml / MainWindow.xaml.cs:主窗口 UI 和逻辑,初始是一个居中按钮
- 按钮点击事件已预置:
Click="myButton_Click",后台方法里改文本即可验证
例如在 MainWindow.xaml.cs 中:
private void myButton_Click(object sender, RoutedEventArgs e)
{
myButton.Content = "已点击!";
}
F5 运行,就能看到窗口和响应效果。不需要额外配置,XAML 和 C# 联动开箱即用。
添加页面与简单导航
WinUI 3 桌面应用默认没有 NavigationView,但支持页面跳转:
- 右键桌面项目 → 添加 → 新建文件夹 → 命名为 Pages
- 右键 Pages 文件夹 → 添加 → 新项 → 选择 “Blank Page (WinUI 3)” → 命名为
Page1.xaml - 在
MainWindow.xaml.cs中添加导航代码(需先引用命名空间):
using Microsoft.UI.Xaml.Controls;
private void myButton_Click(object sender, RoutedEventArgs e)
{
this.Content = new Page1();
}
这样点击按钮就切换到新页面。更规范的做法是使用 Frame + NavigationService,但起步阶段直接替换 Content 已足够直观。
基本上就这些。后续可逐步加入 NavigationView、数据绑定、Fluent 设计元素(Acrylic、Reveal)、自定义控件等。不复杂但容易忽略的是:始终用“Packaged (Desktop)”模板、别选错最低系统版本、记得开开发者模式——这三点卡住新手最多。










