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构建动态前端界面
上一篇:Docker 核心是什么?
下一篇:命令提示符下如何进入安全模式
上一篇:Docker 核心是什么?
下一篇:命令提示符下如何进入安全模式

