SuperAPI AI 工具集

maui-current-apis

编程与开发

查看项目

更新于 10-15 21:12

技能介绍

用途:在改动 MAUI 应用代码前,先确认项目目标框架(TFM)与包版本,再选择与目标匹配的 API,避免生成过时的 Xamarin.Forms 或早期 MAUI 模式。

主要能力:检查 .csproj、Directory.Build.props、Directory.Packages.props 中的 TargetFramework 与 Microsoft.Maui.Controls、UseMaui、MauiVersion 配置,判断项目面向 .NET 8、.NET 9、.NET 10 还是多版本,不默认 net10.0。优先使用 Microsoft.Maui.* 命名空间,不向 MAUI 项目引入 Xamarin.Forms 或 Xamarin.Essentials。替换过时 API 时说明替换原因及与目标版本的匹配性。平台相关代码需置于 #if ANDROID、#if IOS、#if MACCATALYST、#if WINDOWS 或注入式平台服务之后,并针对相关目标框架构建改动后的项目。

常见替换:Xamarin.Forms 换 Microsoft.Maui.Controls;Xamarin.Essentials 换 Microsoft.Maui.ApplicationModel、Microsoft.Maui.Devices、Microsoft.Maui.Storage 等;Device.BeginInvokeOnMainThread 换 MainThread.BeginInvokeOnMainThread;Device.StartTimer 换 Dispatcher.StartTimer 或 IDispatcherTimer;Device.RuntimePlatform 换 DeviceInfo.Platform、OnPlatform 或编译期平台服务;MessagingCenter 换 WeakReferenceMessenger、事件、接口等显式消息抽象;旧自定义渲染器换 MAUI handlers、property mappers 或平台服务;硬编码安全区内边距换 SafeAreaEdges 等安全区 API;坐标式 UI 自动化换稳定 AutomationId 加 DevFlow 查询;Application.Current.MainPage 常规导航换 Shell 注册路由,或在有意重置应用时显式设置 Window.Page。

安全区:.NET 10+ 优先用 SafeAreaEdges,如 <Grid SafeAreaEdges="Container">,仅在旧版本不支持时用平台特定回退。

窗口与 Shell:多窗口代码不要依赖全局主页面,使用当前 Window、Shell.Current 或注入的导航抽象;Shell 应用用注册路由和 GoToAsync,导航参数优先 IQueryAttributable 或 [QueryProperty],构建 URI 时对路由值做 URL 编码。

校验清单:已检查目标框架;未引入 Xamarin.Forms 或 Xamarin.Essentials;替换与检测到的 MAUI 版本兼容;平台代码已隔离;改动目标框架可构建。