10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

.NET 10 第七预览版通过 XAML 源生成器加速 .NET MAUI 开发

作者:Edin Kapić

  • 2025-08-25
    北京
  • 本文字数:1437 字

    阅读完需:约 5 分钟

大小:603.85K时长:03:26
.NET 10 第七预览版通过 XAML 源生成器加速 .NET MAUI 开发

微软于 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 特性修饰根命名空间。

 

<PropertyGroup>  <EnablePreviewFeatures>true</EnablePreviewFeatures></PropertyGroup>

[assembly: XamlProcessing(XamlInflator.SourceGen)]namespace MyApp;
复制代码

 

通过 MediaPicker 控件选择图像时,MAUI 现在能够处理嵌入的 EXIF 元数据(包括方向、时间戳或地理定位数据)。这一改进使图像处理功能更丰富(如图片自动旋转),并提高了依赖元数据的应用程序的可靠性。新版本还能在图像被选取后向下游传递时,保留所有已有的 EXIF 元数据。

本次更新为安全区域(Safe Area)新增多项功能,安全区域特性可防止内容渲染到设备特定屏幕空间之外、可能被其他内容覆盖的区域(摄像头刘海、圆角和类似 UI 元素)。针对刘海屏、圆角和显示缺口的布局逻辑现在更加智能,让开发者能更精细地控制内容在不同安全区域设备上的定位。开发者只需向内容控件添加 SafeAreaEdges 属性,即可在多个选项中选择内容显示方式,包括:


public enum SafeAreaRegions{    None = 0,          // 边缘到边缘内容(无安全区域边距)    SoftInput = 1,     // 始终为键盘/软输入保留边距    Container = 2,     // 在键盘下方流动,避开状态栏/刘海区域      Default = 4,       // 平台默认行为    All = int.MaxValue // 遵守所有安全区域插入边距}
复制代码

 

.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 代码库获取完整的发布说明


原文链接:

https://www.infoq.com/news/2025/08/maui-10-preview7/

2025-08-25 17:151

评论

发布
暂无评论

详解GuassDB数据库权限命令:GRANT和REVOKE

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟

DataGrip for Mac(数据库管理工具) 2023.2.3+注册码

展初云

Mac datagrip 数据库管理

硬件、数据、模型优化与分布式训练的实践

百度开发者中心

大模型 LLM LLMOps

厦门理工计算机与信息工程学院获“火焰杯”软件测试赛全国奖项

测试人

软件测试

专业强大的CAD绘图软件 CADintosh X 最新激活版

胖墩儿不胖y

Mac软件 CAD绘图 cad工具

对话在行人|中裕能源:基于多业态特点,融合创新数智化应用场景

用友BIP

2023全球商业创新大会 对话在行人

AIGC加速迭代,云栖大会视频云「媒体服务」专场与你共话云智深度融合

阿里云CloudImagine

云计算 视频云 云栖大会

携程商旅发布“全球影响力计划”

携程商旅

Mac版本的Java开发工具 IntelliJ IDEA 2023+注册码

展初云

Java Mac IntelliJ IDEA

火山引擎DataLeap背后的支持者 - 工作流编排调度系统FlowX

字节跳动数据平台

大数据 数据中台 数据安全 数据研发 企业号10月PK榜

深度学习预训练模型的突破与发展

百度开发者中心

模型训练 大模型 深度学习‘’ LLM

KaiwuDB 荣获“2023 IDC 中国可持续发展先锋案例”

KaiwuDB

开箱即用!教你如何正确使用华为云CodeArts Defect!

云计算 软件开发 华为云 缺陷管理

数字孪生:让ECU在数字环境中“栩栩如生”

DevOps和数字孪生

数字孪生 虚拟ECU 建模仿真

OmniGraffle Pro for Mac 图表绘制工具 附 注册机

彩云

OmniGraffle Pro

Tampermonkey for Mac(油猴Safari浏览器插件)

展初云

Mac 油猴 Tampermonkey

大模型与Prompt模板全面升级

百度开发者中心

深度学习 大模型 LLM

敏捷专题:下一代的飞机交付

DevOps和数字孪生

数字孪生 航空航天 仿真模拟

LeetCode题解:剑指 Offer 39. 数组中出现次数超过一半的数字,摩尔投票,JavaScript,详细注释

Lee Chen

JavaScript LeetCode

新一代云原生可观测平台之CCE服务监控篇

华为云原生团队

云计算 容器 微服务 云原生

个头小却很能“打”!合合信息扫描全能王推出A4便携式打印机

合合技术团队

识别 文字 图像 合合信息 扫描全能王

VMware Workstation 17安装教程之轻松构建虚拟机

小齐写代码

OpenTiny Vue 支持 Vue2.7 啦!

Kagol

开源 Vue 前端 UI组件库

BDD模式的自动化测试初体验

QE_LAB

自动化测试 BDD 测试自动化工具

.NET 10 第七预览版通过 XAML 源生成器加速 .NET MAUI 开发_微软_InfoQ精选文章