Avalonia 视图模型 Zafiro
avalonia-viewmodels-zafiro
使用 Zafiro 构建 Avalonia ViewModels
本技能提供了一套在 Avalonia 应用程序中创建 ViewModel、向导以及管理导航的最佳实践和模式,充分利用了 ReactiveUI 和 Zafiro 工具集的强大功能。
核心原则
1. 函数响应式方法:使用 ReactiveUI(如 ReactiveObject、WhenAnyValue 等)来处理状态和逻辑。
2. 增强命令:利用 IEnhancedCommand 实现更好的命令管理,包括进度报告和名称/文本属性。
3. 向导模式:使用 SlimWizard 和 WizardBuilder 实现复杂流程,采用声明式且易于维护的方法。
4. 自动分节发现:使用 [Section] 特性自动注册和发现 UI 分节(Sections)。
5. 整洁的组合:使用 DataTypeViewLocator 将 ViewModel 映射到 View,并在 CompositionRoot 中管理依赖项。
指南
- ViewModels 与命令:创建健壮的 ViewModel 并处理命令。
- 向导与流程:使用
SlimWizard构建多步骤向导。
- 导航与分节:管理导航和基于分节的 UI。
- 组合与映射:View-ViewModel 绑定和依赖注入(DI)的最佳实践。
示例参考
如需查看实际实现,请参考 Angor 项目:
CreateProjectFlowV2.cs:复杂向导构建的优秀示例。
HomeViewModel.cs:使用函数响应式命令的简单分节 ViewModel。
适用场景
当需要执行概述中所描述的工作流或操作时,适用本技能。局限性
- 仅在任务明确符合上述范围时使用此技能。
- 不要将输出结果视为环境特定验证、测试或专家评审的替代方案。
- 如果缺少必要的输入、权限、安全边界或成功标准,请停止并请求澄清。