SuperAPI AI 工具集

avalonia

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:构建与调试 Avalonia 11/12 的 .NET 应用,覆盖 XAML、编译绑定、MVVM、自定义控件、桌面生命周期与平台发布。

主要能力:检查 SDK、目标框架、Avalonia 包版本、.axaml 文件、入口点与支持的 OS/RID,并保持包版本一致;区分 11 与 12 文档,避免把 12 独有 API 用于 11。分离 Program.BuildAvaloniaApp、App.axaml、视图、视图模型与领域/服务;桌面宿主使用 StartWithClassicDesktopLifetime 并在 OnFrameworkInitializationCompleted 创建 MainWindow。使用类型化编译绑定与显式绑定模式,x:DataType 只描述绑定类型而非运行时 DataContext;Avalonia 12 默认启用编译绑定,11 需显式开启。可配合 CommunityToolkit.Mvvm 管理可观察状态与命令,优先可取消的异步服务操作,并将后台更新调度到 UI 线程。属性系统上,可样式化/可动画值用 StyledProperty,无样式优先级的后备状态用 DirectProperty;用 DataTemplate 展示数据,用 ControlTemplate/ControlTheme 改变视觉结构。

使用方式:新项目用官方模板安装与创建,例如 dotnet new install Avalonia.Templates、dotnet new avalonia.mvvm -o MyApp、dotnet add MyApp/MyApp.csproj package CommunityToolkit.Mvvm、dotnet run --project MyApp/MyApp.csproj;已有项目按目标框架与已装主版本选择兼容版本添加 Avalonia.Desktop 与 Avalonia.Themes.Fluent。构建用 dotnet build <solution> -c Release,测试可用 Avalonia.Headless.XUnit 或 Avalonia.Headless.NUnit。

适用场景:跨平台桌面 .NET 应用的界面开发、MVVM 架构、自定义控件与多平台发布验证。

限制:构建或无头测试通过不代表原生渲染、打包、无障碍或 AOT 兼容;Fluent 主题、选择器、伪类、主题变体与 avares:// 资源与 WPF 不同,不应直接移植 WPF 样式;升级 12 前需查阅主版本迁移指南;裁剪或 Native AOT 前需阅读平台与发布参考。