写点什么

.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:158378

评论

发布
暂无评论

​​从数据到决策:低代码+AI如何简化并加速可视化工作流?

不在线第一只蜗牛

烟草行业专卖人员画像与队伍考评系统(信创版)上线运行

中烟创新

大数据-47 Redis 内存控制、Key 过期与数据淘汰策略详解

武子康

Java redis 大数据 分布式 后端

看板管理解析,给生产一点小小震撼!

积木链小链

数字化 智能制造 生产管理 生产看板

AI-Compass LLM合集-多模态模块:30+前沿大模型技术生态,涵盖GPT-4V、Gemini Vision等国际领先与通义千问VL等国产优秀模型

汀丶人工智能

StarRocks × MinIO:打造灵活高效的存算分离方案

StarRocks

Docker 存算分离 StarRocks minlo quickstart

漏洞赏金猎手入门指南:从零开始赚取高额奖金的核心方法论

qife122

渗透测试 漏洞挖掘

等保测评对互联网企业的重要作用和影响

等保测评

误操作后快速恢复数据 binlog 解析为反向 SQL

GreatSQL

AI-Compass Embedding模型模块:15+主流向量化技术的多模态语义表示生态

汀丶人工智能

AI-Compass RLHF人类反馈强化学习技术栈:集成TRL、OpenRLHF、veRL等框架,涵盖PPO、DPO算法实现大模型人类价值对齐

汀丶人工智能

除了企微钉钉,有什么企业 IM 性价比高一点的吗?

BeeWorks

即时通讯 IM 私有化部署

WebGL开发3D展览馆

北京木奇移动技术有限公司

软件外包公司 webgl开发 webgl外包

黑龙江地区等保测评中常用的安全产品

等保测评

WebGL开发数字孪生项目

北京木奇移动技术有限公司

软件外包公司 webgl开发 webgl外包

AI-Compass前沿速览:ChatGPT Agent、Kimi2、Mistral语音模型、Grok AI情感陪伴、百度Tizzy、有言数字人

汀丶人工智能

人工智能 大模型

AI-Compass LLM训练框架生态:整合ms-swift、Unsloth、Megatron-LM等核心框架

汀丶人工智能

破局传统采购!采购文件编制审核系统为烟草行业数智化加速

中烟创新

【跨国数仓迁移最佳实践2】MaxCompute SQL执行引擎对复杂类型处理全面重构,保障客户从BigQuery平滑迁移

阿里云大数据AI技术

人工智能 大数据 数据处理 数据迁移

以故事+动画方式,让PID知识通俗易懂部分一

芯动大师

AI-Compass GraphRAG技术生态:集成微软GraphRAG、蚂蚁KAG等主流框架,融合知识图谱与大语言模型实现智能检索生成

汀丶人工智能

类似腾讯会议的私有化音视频会议软件,BeeWorks Meet

BeeWorks

即时通讯 IM 私有化部署

MIAOYUN | 每周AI新鲜事儿(07.11-07.18)

MIAOYUN

云计算 AI AI 大模型 AI Agent,

AI-Compass NLP2SQL模块:集成Chat2DB、DB-GPT、MindsDB等核心工具,实现自然语言到SQL转换的智能化数据查询生态系统

汀丶人工智能

半夜服务器告警不再错过!运维人员必备的语音通知方案

外滩运维专家

电话报警 电话推送 电话接口 监控电话 语音监控

Parrot和DJI系列无人机操作系统内核崩溃漏洞利用分析

qife122

漏洞利用 无人机安全

阿里巴巴为什么禁止超过3张表join?

量贩潮汐·WholesaleTide

前端

暑热能耗管理成难题?这套智慧方案高效破局!

极客天地

AI-Compass DeepSearch深度搜索生态:集成阿里ZeroSearch、字节DeerFlow、MindSearch等前沿平台,实现超越传统关键词匹配的智能信息检索革命

汀丶人工智能

以故事+动画,让PID知识通俗易懂部分二

芯动大师

淘宝商品图片搜索API响应数据解析

tbapi

淘宝API接口 天猫API接口 淘宝图片搜索接口 淘宝拍立淘接口 天猫拍立淘接口

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