
微软于 8 月 12 日在 .NET 10 中发布了 .NET MAUI 第七个预览版,带来了更多性能提升和控件优化。本次更新重点包括编译时 XAML 处理、增强的媒体元数据支持、更安全的 UI 布局以及工具栏 API 优化。
MAUI 是“多平台应用程序 UI”的缩写。据微软介绍,该框架是 Xamarin 和 Xamarin Forms 的演进版本,将独立的目标库和项目统一为支持多设备的单一项目。目前 MAUI 支持开发运行于 Android 5+、iOS 12.2+、macOS 12+(作为 Mac Catalyst)、三星 Tizen、Windows 10 版本 1809+ 或 Windows 11 的应用程序,其最低平台要求与去年发布的第九版保持一致。
XAML 标记现改为构建时编译而非运行时解释。这一变更降低了应用启动延迟,使 XAML 错误能更早地出现在开发工作流中,并允许开发者检查生成代码以获得更深入的洞察。要启用构建时 XAML 编译,开发者必须在项目中添加 EnablePreviewFeatures
属性,并使用 XamlProcessing
特性修饰根命名空间。
通过 MediaPicker
控件选择图像时,MAUI 现在能够处理嵌入的 EXIF 元数据(包括方向、时间戳或地理定位数据)。这一改进使图像处理功能更丰富(如图片自动旋转),并提高了依赖元数据的应用程序的可靠性。新版本还能在图像被选取后向下游传递时,保留所有已有的 EXIF 元数据。
本次更新为安全区域(Safe Area)新增多项功能,安全区域特性可防止内容渲染到设备特定屏幕空间之外、可能被其他内容覆盖的区域(摄像头刘海、圆角和类似 UI 元素)。针对刘海屏、圆角和显示缺口的布局逻辑现在更加智能,让开发者能更精细地控制内容在不同安全区域设备上的定位。开发者只需向内容控件添加 SafeAreaEdges
属性,即可在多个选项中选择内容显示方式,包括:
.NET MAUI 10 的第七预览版中的工具栏现在可包含二级菜单项,这些项将根据设备特性渲染为对应的次级菜单选项。开发者需在 ToolbarItem 标记中添加 Order
属性,并设置为 Primary
(主要)或 Secondary
(次要)即可实现。通常二级菜单项会隐藏在操作菜单的省略号之后。


最后,该版本为控件新增了多个 API,例如可通过编程方式控制选择器的打开或关闭状态、搜索处理程序可隐藏或显示软键盘、以及公开了 TabbedPageManager
类。本次预览版同时移除了部分已弃用的 API,例如 Accelerator
类已从 Microsoft.Maui.Controls
中移除,ClickGestureRecognizer
也被 TapGestureRecognizer
取代。
开发者对新版本的反馈普遍积极。Stuart Ballard 在 Microsoft DevBlog 表示:
XAML 源生成器听起来太棒了——为什么它仅限于 MAUI 而不是作为通用组件支持 WPF 等其他框架?
在 windowsforum.com 上的一篇帖子中有人称,第七预览版是一个整合版本,也是专注于提升 MAUI 整体质量的后期里程碑。虽然这不是直接观点,但也强化了社区的共识:本次预览版不再专注于华而不实的新功能,而是着力打磨现有功能。
读者可参考 GitHub 官方 MAUI 代码库获取完整的发布说明。
原文链接:
评论