SuperAPI AI 工具集

avalonia

编程与开发

查看项目

更新于 10-15 16:35

技能介绍

用途

Avalonia 是一个基于 XAML、受 WPF 启发的 .NET 跨平台 UI 框架。本技能为使用 Avalonia 构建、调试或优化跨平台桌面与移动应用提供专家级指导,采用模块化编排方式,按任务类型引导查阅对应的资源文档。

主要能力

框架支持以下平台:Windows、macOS、Linux、iOS、Android、WebAssembly。架构上采用 MVVM 并支持 ReactiveUI;样式采用类 CSS 选择器,提供 Fluent/Simple 主题;功能包括数据绑定、响应式命令、可观察集合、自定义控件;面向现代 .NET,支持 .NET 6+ 与 .NET Standard 2.0。

资源文档按主题划分:

  • resources/mvvm-databinding.md:MVVM 模式、数据绑定、依赖注入、值转换器、ViewModel 基类、绑定模式与路径、多绑定与转换器、设计时数据、主从与标签页模式。
  • resources/controls-reference.md:UI 控件参考,包括布局控件(Grid、StackPanel、DockPanel 等)、输入控件(TextBox、Button、CheckBox、ComboBox 等)、显示控件(TextBlock、Image、ProgressBar 等)、集合控件(ListBox、DataGrid、TreeView 等)、导航(Menu、TabControl、SplitView 等)、形状与绘图。
  • resources/styling-guide.md:样式、主题、动画、控件模板,包括类 CSS 选择器(类型、类、伪类)、资源字典与主题、控件模板、数据模板、动画与过渡、缓动函数、主题变体(浅色/深色)。
  • resources/reactive-animations.md:响应式模式、命令、可观察对象、动画,包括 ReactiveUI 集成、响应式属性、同步与异步响应式命令、可观察序列、过滤/转换/组合、程序化动画、常见模式(搜索、验证、自动完成)。
  • resources/custom-controls-advanced.md:自定义控件、高级布局、性能优化、虚拟化,包括自定义 TemplatedControl 创建、用户控件组合、高级布局、虚拟化、性能优化、渲染变换、图形与绘图。
  • resources/platform-specific.md:Windows、macOS、Linux、iOS、Android 实现细节,包括运行时平台检测、多项目结构、服务抽象、平台特定实现、各平台窗口管理、文件系统访问、原生功能(Windows DLL、macOS Cocoa 等)。

使用方式

标准项目结构包含共享代码项目(App.axaml、Views、ViewModels、Models、Services、Converters、Assets、Styles)以及各平台特定项目(Desktop、Android、iOS、Browser)。

最小启动设置:在 Program.cs 中通过 BuildAvaloniaApp().StartWithClassicDesktopLifetime(args) 启动,AppBuilder 配置使用 UsePlatformDetect() 与 LogToTrace()。App.axaml 中引入 FluentTheme。视图以 XAML 定义 Window 与控件。

核心模式包括:

  • MVVM 架构:View(XAML)负责 UI 呈现与数据绑定,ViewModel(C#)负责状态管理与命令,Model(C#)负责业务逻辑与数据访问,Service 处理横切关注点(DI/IoC)。
  • 响应式编程:借助 ReactiveUI 实现事件驱动的 UI 更新,例如对搜索文本使用 WhenAnyValue 配合 Debounce 后订阅执行搜索。
  • 平台自适应:一次设计、按平台适配,使用 OnPlatform 元素为不同平台设置不同值。

按任务导航的示例:构建带验证的表单时,查阅 mvvm-databinding 实现带属性验证的 ViewModel,查阅 controls-reference 查找 TextBox、ComboBox、Button 控件,查阅 reactive-animations 添加带防抖的验证;大列表性能不佳时,查阅 custom-controls-advanced 启用虚拟化,查阅 mvvm-databinding 使用编译绑定,查阅 reactive-animations 防抖/节流更新;需要平台特定行为时,查阅 platform-specific 实现服务接口,查阅 mvvm-databinding 通过 DI 注册平台实现。

常见工作流包括:构建桌面应用(Windows/macOS/Linux)、构建跨平台移动+桌面应用、添加实时搜索、构建复杂数据驱动 UI。

适用场景

适用于使用 Avalonia 框架开发跨平台桌面与移动应用的场景,包括构建、调试、优化 Avalonia 应用,涉及 MVVM 与数据绑定、控件使用、样式与主题、响应式编程与动画、自定义控件与性能优化、平台特定实现等任务。

限制

资料未提供该技能的具体安装命令、收费方式、价格、平台限制或效果保证等信息,暂未提供。