首次看:Windows 11 正在取代 Windows 95 时代的“属性”对话框,现支持深色模式和 WinUI
微软终于开始用现代版本替换已有数十年历史的文件资源管理器“属性”对话框,这是公司推动 Windows 11 现代化的一部分。值得庆幸的是,新的“属性”对话框采用原生 WinUI 框架构建,我们没有看到任何基于 WebView2 的外壳痕迹。
目前,“属性”对话框仍是 Win32 的 comctl32.dll(通用控件库)原生界面,它最早随 Windows 95 一起发布。当然,过去几年它在外观上有所改进,但底层代码并没有发生根本变化。
微软此前已确认会用现代版本替换所有旧式对话框,包括 Windows 8 时代,甚至 Windows 95 时代的那些。Windows 设计的大规模更新何时开始推送一直不明确,但我们现在已经在预览版中看到了早期迹象。

微软观察者 PhantomOfEarth 在预览版中发现了新的“属性”对话框,与现有实现不同,新版本支持深色模式。
此外,它显然是用 WinUI 3 构建的,而不是 Win32 属性页。微软并没有混用这两种框架,我可以确认它完全基于 WinUI 3。
例如,仔细看会发现,“常规”选项卡使用了 Pivot 风格的标题栏,并支持强调色指示器,这只在 WinUI 3 框架中才有。Win32 没有这一点,在那里“属性”对话框使用的是 SysTabControl32,而它属于 comctl32。同样,恢复按钮也使用了 AccentButtonStyle。

最后,你还能看到采用 WinUI 3 指南的新复选框,带有圆角。虽然细节很小,但这对保持设计一致性是必要的。
微软计划彻底淘汰经典“属性”对话框,这很有意思,因为这个对话框几乎伴随 Windows 走过了三十年。现有的“属性”对话框基于 Windows 95 时代的属性页 API(PROPSHEETPAGE、shell32 中的 SHOpenPropSheet)构建,缺少深色模式和现代无障碍功能。
为什么微软不能随便把 Windows 11 的组件现代化就完事
Windows 是一套传统操作系统,这也是公司过去尝试推出 Windows 10X 等版本的原因之一。Windows 很难在不破坏向后兼容性的情况下进行现代化。
这也意味着,微软不能只是给基于 Win32 的“属性”对话框套上现代设计,而不指望第三方应用出问题。
Windows 11 中属性页的新旧界面对比微软有责任支持数十年前的软件,这就是为什么你可以下载为 Windows 95 制作的应用或游戏,并且还能在 Windows 11 上运行。这样的向后兼容策略同样适用于“属性”以及其他旧式对话框和属性页,因为任何改动都可能破坏现有集成。
目前,第三方应用经常使用 IShellPropSheetExt 向“属性”对话框注入选项卡。
微软文档将 IShellPropSheetExt 描述为一个“允许属性页处理程序为文件对象显示的属性页添加或替换页面”的接口。
当应用使用该扩展向 Win32 属性页系统添加选项卡时,每个页面都会作为传统对话框创建,然后交回 Windows Shell。
这包括第三方杀毒软件、7-Zip、Dropbox、编解码器包等等,它们返回的都是基于 HWND 的页面。

微软正在用 WinUI 替换 Win32“属性”宿主,它需要一条 reverse-islanding 路径,将这些旧的 HWND 嵌入新的选项卡栏中,否则这些扩展会失效。上面的截图显示的是回收站项目,它只有“常规”选项卡,但其他程序并非如此。
例如,右键某些应用并打开其“属性”时,你会看到“安全”“详细信息”“以前的版本”,甚至第三方选项卡同时存在。目前还不清楚微软如何整合这些旧的第三方选项卡,但我猜它已经找到了 reverse-island 的实现方式。
我另一个担心是,WinUI 界面在加载运行时方面历来有冷启动成本。即使现在,文件资源管理器的 WinUI 右键菜单也因为这一点而受到批评。文件资源管理器中基于 WinUI 的“主页”选项卡比不使用 WinUI 的“此电脑”更慢。
这些情况应该很快会改善,因为微软计划优化 WinUI 3,这或许也能解释为什么这次改版比平时花了更长时间。
Windows“运行”也将迎来现代替代版
到目前为止,无论是 Windows 11 还是 Windows 7,Windows 的“运行”窗口在最近几代系统里大体看起来都一样,但微软希望改变这一点,甚至计划为“运行”对话框添加新功能。

在我们的测试中,Windows Latest 发现了一个新的现代版“运行”对话框,但它是可选的,需要在 设置 > 高级设置 中启用。

启用后,可使用 Win+R 快捷键打开现代版“运行”对话框,它几乎和旧版一样好。微软表示,现代版“运行”比旧版稍快一些,显示中位时间大约快 94 毫秒,而且还能通过 ~\ 直接跳转到用户目录。
唯一的缺点是你不能在屏幕上拖动它,但我认为在正式推送前这个问题会被解决。
微软还计划用 WinUI 替换 Windows 8 时代的设计元素,而 Windows Latest 了解到,大多数基于网页的组件正在用原生框架重写。
你怎么看 Windows 11 的现代“属性”选项卡、“运行”以及其他近期改进?欢迎在下方评论区告诉我。