WinUI 3怎么开发桌面应用 WinUI 3项目创建与入门教程

发布时间 - 2026-01-08 00:00:00    点击率:
WinUI 3 桌面应用基于 Windows App SDK 构建,使用 MSIX 打包,支持 Win10 1809+ 和 Win11;需启用开发者模式、安装 VS2025 并勾选对应工作负载,创建时务必选用“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 2025(推荐最新稳定版),安装时勾选:
    • “.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)”模板、别选错最低系统版本、记得开开发者模式——这三点卡住新手最多。


# windows  # app  # 工具  # win10  # win11  # ai  # win  # microsoft  # windows 11  # 开发环境  # 命名空间  # 继承  # 事件  # visual studio  # ui  # 右键  # 命名为  # 勾选  # 的是  # 是一个  # 稳定版  # 都在  # 第一个  # 就能  # 最多 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android实现代码画虚线边框背景效果  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  js代码实现下拉菜单【推荐】  如何有效防御Web建站篡改攻击?  Laravel如何使用查询构建器?(Query Builder高级用法)  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  *服务器网站为何频现安全漏洞?  Laravel如何使用Telescope进行调试?(安装和使用教程)  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  教学论文网站制作软件有哪些,写论文用什么软件 ?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何破解联通资金短缺导致的基站建设难题?  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  html5的keygen标签为什么废弃_替代方案说明【解答】  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Mybatis 中的insertOrUpdate操作  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  佛山企业网站制作公司有哪些,沟通100网上服务官网?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何在Ubuntu系统下快速搭建WordPress个人网站?  魔方云NAT建站如何实现端口转发?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  Linux系统运维自动化项目教程_Ansible批量管理实战  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Laravel如何使用Gate和Policy进行授权?(权限控制)  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何在万网主机上快速搭建网站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  公司网站制作价格怎么算,公司办个官网需要多少钱?  ,交易猫的商品怎么发布到网站上去?  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  如何快速搭建虚拟主机网站?新手必看指南  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  JavaScript如何操作视频_媒体API怎么控制播放  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面