Avalonia 视图模型 Zafiro

avalonia-viewmodels-zafiro
分类通用
作者Agentic Awesome Skills 社区
许可MIT
评分4.90/5
使用6.2K

使用 Zafiro 构建 Avalonia ViewModels

本技能提供了一套在 Avalonia 应用程序中创建 ViewModel、向导以及管理导航的最佳实践和模式,充分利用了 ReactiveUIZafiro 工具集的强大功能。

核心原则

1. 函数响应式方法:使用 ReactiveUI(如 ReactiveObjectWhenAnyValue 等)来处理状态和逻辑。
2. 增强命令:利用 IEnhancedCommand 实现更好的命令管理,包括进度报告和名称/文本属性。
3. 向导模式:使用 SlimWizardWizardBuilder 实现复杂流程,采用声明式且易于维护的方法。
4. 自动分节发现:使用 [Section] 特性自动注册和发现 UI 分节(Sections)。
5. 整洁的组合:使用 DataTypeViewLocator 将 ViewModel 映射到 View,并在 CompositionRoot 中管理依赖项。

指南

  • 组合与映射:View-ViewModel 绑定和依赖注入(DI)的最佳实践。

示例参考

如需查看实际实现,请参考 Angor 项目:

  • CreateProjectFlowV2.cs:复杂向导构建的优秀示例。

  • HomeViewModel.cs:使用函数响应式命令的简单分节 ViewModel。

适用场景

当需要执行概述中所描述的工作流或操作时,适用本技能。

局限性

  • 仅在任务明确符合上述范围时使用此技能。
  • 不要将输出结果视为环境特定验证、测试或专家评审的替代方案。
  • 如果缺少必要的输入、权限、安全边界或成功标准,请停止并请求澄清。