Skip to content

使用 Zafiro 和 ReactiveUI 构建 Avalonia ViewModel 架构

通过结合 Zafiro 工具集与 ReactiveUI,为 Avalonia 应用程序提供一套标准化的 ViewModel 创建模式,重点解决复杂向导流(Wizard)、自动化界面分节(Section)以及响应式状态管理问题。

为什么需要这个技能

在开发大型 Avalonia 桌面应用时,简单的 MVVM 模式往往难以应对复杂的多步骤流程(如安装向导、配置面板)和深层的页面导航。开发者经常需要手动编写冗长的导航逻辑,且状态同步代码碎片化。

本技能通过引入 Zafiro 框架,将传统的命令模式增强为支持进度报告的 IEnhancedCommand,并利用声明式的 SlimWizard 替代硬编码的页面跳转,使 UI 逻辑与业务流程解耦,显著提升代码的可维护性和可扩展性。

适用场景

  • 构建需要多步骤引导、表单校验的向导界面(Wizard Flow)。
  • 开发基于分节(Section)结构的复杂管理后台界面。
  • 需要使用响应式编程(Functional-Reactive)来处理 UI 状态同步。
  • 优化 View 与 ViewModel 的映射关系,减少手动绑定代码。

核心工作流

  1. 响应式状态定义:使用 ReactiveObjectWhenAnyValue 处理状态变更,确保 UI 实时响应数据变化。
  2. 增强命令实现:采用 IEnhancedCommand 代替标准 ICommand,以便在执行过程中直接传递进度状态和文本属性。
  3. 声明式向导构建:利用 WizardBuilderSlimWizard 定义多步流程,通过配置而非硬编码来控制页面跳转逻辑。
  4. 自动化分节注册:通过给 ViewModel 添加 [Section] 特性,实现 UI 区域的自动发现与注册。
  5. 依赖注入与映射:在 CompositionRoot 中配置 DataTypeViewLocator,实现 ViewModel 到 View 的自动映射。

下载和安装

下载 avalonia-viewmodels-zafiro 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐