WinUI3 无边框透明窗口实现指南
- 内容介绍
- 文章标签
- 相关推荐
问题描述:
本文档用于说明在 WinUI 3 / Windows App SDK 场景下,如何把一个普通顶层窗口逐步改造成“无边框、透明背景、可选置顶、可选点击穿透”的窗口。
提醒:使用到的部分 API 仅 Windows 11 Build 22000 (21H2)及以上版本系统支持
1. 介绍
在制作一个项目的屏幕批注功能过程中,被窗口样式和层级反复折磨,查了许多内容才最终形成以下方案(当然代码是 GPT 写的,这份文档也有一部分使用 AI 完成)
相关实现代码供参考: WindBoard/WindBoard/Features/ScreenAnnotation at develop · Jerry-Z07/WindBoard
典型目标:
- 不显示系统标题栏与标准边框
- 窗口背景真正透明,而不是黑底
- 在 Win11 21H2 以上系统不残留系统圆角外轮廓或边框描边
- 可选保持置顶
- 可选切换点击穿透
WinUI 顶层窗口的“透明”“边框”“系统描边”分别来自 XAML 内容树、Win32 样式、DWM 非客户区绘制 三个层面,必须一起处理。
问题描述:
本文档用于说明在 WinUI 3 / Windows App SDK 场景下,如何把一个普通顶层窗口逐步改造成“无边框、透明背景、可选置顶、可选点击穿透”的窗口。
提醒:使用到的部分 API 仅 Windows 11 Build 22000 (21H2)及以上版本系统支持
1. 介绍
在制作一个项目的屏幕批注功能过程中,被窗口样式和层级反复折磨,查了许多内容才最终形成以下方案(当然代码是 GPT 写的,这份文档也有一部分使用 AI 完成)
相关实现代码供参考: WindBoard/WindBoard/Features/ScreenAnnotation at develop · Jerry-Z07/WindBoard
典型目标:
- 不显示系统标题栏与标准边框
- 窗口背景真正透明,而不是黑底
- 在 Win11 21H2 以上系统不残留系统圆角外轮廓或边框描边
- 可选保持置顶
- 可选切换点击穿透
WinUI 顶层窗口的“透明”“边框”“系统描边”分别来自 XAML 内容树、Win32 样式、DWM 非客户区绘制 三个层面,必须一起处理。

