WinUI 全新 TableView 和 Chart 控件为 Windows 11 应用带来原生数据表格和图表 微软终于为 WinUI——Windows 11 的现代应用原生框架——带来了数据表格、图表和手写笔墨迹输入这三项基础功能,它们是财务工具、管理面板和笔记应用所必需的。缺少这些功能时,开发者可能会觉得开发 Web 应用更容易。9 月 29 日,TableView 和 Chart 随 Windows App SDK 2.5.4 实验版一同推出,此外还提供了经过重新设计的墨迹输入控件。开发者可以通过 WinUI Gallery 3.0 试用这些功能,但微软表示,它们目前还不适合用于生产环境中的应用。
在 Build 2026 上,微软 Windows UI 团队的 Chris Anderson 承认,WinUI 平台“还存在大量功能缺口”,并表示 DataGrid 和图表功能“即将推出”。微软也在这场大会上鼓励开发者使用 WinUI,而不是 Web 框架,并从名称中去掉了“3”,希望借此让开发者相信,公司并没有打算再推出一个新框架。
实验版 WinUI Gallery 中的 Chart、TableView 和 InkCanvas。图片来源:Windows Latest简单来说,WinUI 是 UI 框架,而 Windows App SDK 则是随框架一同发布的 Windows API 和工具包。
此次实验版为 WinUI 3 应用带来了三个官方基础组件。
此前,开发者只能向第三方供应商购买这些控件,或从社区项目中借用,甚至自己动手构建。9 月,TableView 的代码已出现在 WinUI 的 GitHub 仓库中。
Windows App SDK 1.0 于 2021 年 11 月发布时,Syncfusion、DevExpress 和 Telerik 就已经在宣传自家的 WinUI DataGrid 和 Chart 控件。微软自己的版本竟然晚了将近五年!
WinUI 团队的 Pranav Gupta 在 TableView 公告中写道:“社区长期以来一直在呼吁 WinUI 3 支持数据表格。”
使用 WinUI TableView 的 Contoso 销售台账应用。图片:Microsoft用户可以点击表头排序、调整列宽、冻结列,还能在紧凑、标准和舒适三种行密度之间切换。开发者则可以使用模板列创建更丰富的单元格,例如状态标签或进度条;通过共享的 TableViewSource 进行筛选和分组;使用带验证的编辑功能;以及启用虚拟化行。微软的 Contoso 销售台账演示正是借此在 11 列中处理了 5000 笔交易。

例如,库存应用可以让用户按库存量对商品排序、按供应商筛选、按类别分组,还能直接修正错误价格,开发者无需再用基础控件拼凑数据网格。
完整的台账演示,包括应用自定义的排序控件。来源:Microsoft有意思的是,微软在 Build 上承诺推出 DataGrid,但 TableView 文档却指出,该控件“并非 DataGrid 的替代品,也不支持类似电子表格的交互”。用户一次只能选择一行、按一列排序,且只能按一个层级分组,列也无法重新排序。微软表示,分层视图和应用上下文菜单已经在开发中。
财务仪表板需要展示收入与支出的对比、现金余额走势,也可能需要投资组合曲线。考虑到这类应用十分常见,WinUI 开发者过去不得不费力引入第三方图表库来构建它们。
使用不同类型 WinUI 图表的 Contoso Finance 应用。图片:Microsoft微软的 Chart 控件支持折线、面积和柱状图系列,类别轴和日期时间轴,数值轴、图例、数据标签和标记。多个系列可以共用坐标轴,WinUI Gallery 示例还展示了一个通过 ObservableCollection 实时更新的系列。
使用 WinUI Chart 绘制的横向支出条形图。图片:Microsoft在 Gupta 的 Contoso Finance 演示中,柱状图对比每月收入和支出,折线图跟踪现金余额,横向条形图则细分各项支出。不过,图表只负责绘制准备好的数据。Gupta 写道:“储蓄率、现金可支撑时长和类别总额等计算应由应用负责,而不是交给图表控件。”
使用 WinUI Chart 制作的深色和浅色主题财务应用示例。来源:Microsoft开发者的反馈可谓褒贬不一。有人直接问:“为什么没有饼图?”还有人希望加入缩放和平移功能,也有开发者提出问题,称该控件不符合 Fluent 设计规范。
UWP 应用多年来一直支持 InkCanvas,但开发者将这些应用迁移到 WinUI 3 时,这个控件“却根本不存在”,Gupta 在墨迹输入功能公告中如此表示。
墨迹输入功能最初于 8 月随 Windows App SDK 2.4.1 实验版推出,包含 InkCanvas、InkToolbar 和 InkPresenter,并支持剪贴板和高对比度。2.5.4 版本允许 InkToolbar 在没有 InkCanvas 的情况下驱动 InkPresenter,并新增 InkSynchronizer,让应用能够自行渲染已提交的墨迹。
在 WinUI 3 中使用 InkToolbar 绘制的逐渐加粗的笔迹。图片:Microsoft工具栏包含钢笔、铅笔、荧光笔、橡皮擦和直尺按钮。笔迹可以保存为普通 GIF 文件,重新加载后仍可作为墨迹编辑。Gupta 表示,这些控件意味着“笔记应用不再需要自己编写绘图引擎”,无论是签署 PDF,还是在 Surface 上随手记录会议内容,都能从中受益。

我一直觉得,配备手写笔和二合一设备的 Windows 硬件远胜 Apple 的产品,所以微软的现代框架居然不支持手写笔,实在有些奇怪!
高级产品经理 Niels Laute 于 10 月 13 日宣布推出 WinUI Gallery 3.0。这款参考应用可供开发者试用 WinUI 控件并复制示例代码。他写道:“此前,新控件通常要等到 Windows App SDK 发布稳定版后,才会出现在 Gallery 中。”
3.0 版运行在实验版 Windows App SDK 上,并以独立形式打包,开发者无需额外安装任何内容。Laute 表示,这样做是为了尽早提供示例代码,并在 API 仍可更改时收集反馈。实验性页面会带有标记,Gallery 还提供了 WrapPanel、LayoutPanel、PagerControl,以及新的 Window 宽度和高度属性示例。
WinUI Gallery 中的媒体部分。图片来源:Windows Latest不出所料,一位开发者在帖子下留言问道:“所以现在它也有了这些在 WPF 中存在几十年的‘实验性’功能?”
我很惊讶,WinUI 3 已经问世七年,而微软直到去年才开始推动全面开放其开发流程。不过,亡羊补牢,为时未晚……
日期里程碑2019 年 11 月微软公布 WinUI 3 的发展方向。2020 年 2 月WinUI 3 Alpha 版发布。2020 年 5 月WinUI 3 Preview 1 加入 Win32 支持。2021 年 3 月Project Reunion 0.5 随 WinUI 3 一同发布。2021 年 6 月Project Reunion 0.8 发布。2021 年 11 月Windows App SDK 1.0 发布。2022 年 5 月Windows App SDK 1.1 带来新功能和改进。2022 年 11 月Windows App SDK 1.2 发布。2023 年 4 月Windows App SDK 1.3 发布。2023 年 8 月Windows App SDK 1.4 发布。2024 年 2 月Windows App SDK 1.5 发布。2024 年 9 月Windows App SDK 1.6 加入 Native AOT 支持。2025 年 3 月Windows App SDK 1.7 发布。2025 年 7 月微软公布分阶段开放 WinUI 源代码的计划。2025 年 9 月Windows App SDK 1.8 发布。2026 年 4 月Windows App SDK 2.0 发布。2026 年 5 月微软完成 WinUI 开源计划的第三阶段。2026 年 8 月WinUI 主线开发迁至 GitHub;第四阶段完成。2026 年 8 月WinUI 3 实验版加入墨迹输入支持。2026 年 9 月实验版 TableView 和 Chart 控件推出。2026 年 10 月WinUI Gallery 3.0 展示新的实验性控件。
微软的 Beth Pan 于 2025 年 7 月宣布开源计划时写道:“这不是按下开关就能完成的事,而是一个有计划的过程。”此后,微软已完成第四阶段,并于 2026 年 8 月将 WinUI 主线开发迁至 GitHub。微软工程师现在会公开创建分支、提交拉取请求、审查并合并代码。但这并不意味着外部开发者现在就能参与贡献。微软表示,目前仍在验证贡献流程,而 XAML 编译器仍有部分代码未开放,暂时无法完全从源代码构建。
颇具讽刺意味的是,一位开发者在 Chart 公告下指出,这些新控件是通过闭源程序包发布的!
开发者选择 Electron,是因为一套 HTML、CSS 和 JavaScript 代码就能在 Windows、macOS 和 Linux 上运行。你很可能已经用过多款 Electron 或 WebView2 应用,也见过它们的内存占用不断飙升,仿佛正在渲染一款游戏!
Electron 使用 Chromium 和 Node.js 运行基于 Web 的桌面应用,而 WebView2 则嵌入了基于 Microsoft Edge 的网页渲染引擎。两者都能让开发者复用 Web 技术,但也会带来额外的浏览器相关进程和内存占用。
我测试新版 Windows 版 WhatsApp 时,WebView2 版本在空闲状态下占用了约 600 MB 内存,而旧版原生应用不到 100 MB。就我个人而言,我仍在使用 Outlook Classic;如果新版 Outlook(WebView2 应用)哪天变成原生应用,我就会换过去。

不过,WinUI 并不一定就更高效。微软承认 WinUI 应用可能会占用大量内存,所幸 Anderson 在 Build 上列出的优先事项中就包括这一点。他表示:“首要任务是性能、基础功能、质量,以及修复大量错误。”
2.5.4 版本通过修复资源跟踪错误,解决了部分内存增长问题。此前,应用反复创建视觉状态故事板或解析静态资源、主题资源时,内存会不断增加。该版本还改进了 .NET 应用中不可达的原生 WinUI 对象的清理机制,可在选项卡或页面关闭后进行回收。此外,一些小功能仍然缺失,例如连 Electron 应用都支持的 Shift+单击滚动条快捷操作。
目前,开发者可以使用微软的原生控件,在 WinUI 中为会计应用制作原型,包括台账、仪表板和签名区域。当然,这并不意味着电脑上的 Web 应用会因此突然减少;这取决于这些控件何时能结束实验阶段,也取决于微软是否最终会提供开发者一直要求的 Visual Studio 可视化设计器。