关于 avalonia-viewmodels-zafiro
为 Avalonia 应用提供使用 ReactiveUI 和 Zafiro 构建 ViewModel、向导与导航的实践指南,适合开发桌面界面的开发者。内容涵盖响应式状态、命令、流程组织和视图映射,并强调按已安装版本验证 API。
主要功能
- 01ReactiveUI 状态与逻辑模式
- 02增强命令与进度报告
- 03SlimWizard 多步骤流程
- 04Section 自动发现
- 05ViewModel 与 View 映射
适用场景
- 01构建 Avalonia 应用的 ViewModel
- 02实现多步骤向导流程
- 03组织导航和分区界面
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill avalonia-viewmodels-zafiro安装后在 Claude Code 中输入/avalonia-viewmodels-zafiro确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
composition.mdnavigation_sections.mdviewmodels.mdwizards.md详细介绍
使用 Zafiro 编写 Avalonia ViewModel
本技能介绍一组最佳实践和模式,用于在 Avalonia 应用程序中创建 ViewModel、向导和管理导航,并充分利用 ReactiveUI 和 Zafiro 工具包。
核心原则
- 函数式响应式方法:使用 ReactiveUI(
ReactiveObject、WhenAnyValue等)处理状态和逻辑。 - 增强型命令:使用
IEnhancedCommand,以更好地管理命令,包括进度报告以及名称/文本属性。 - 向导模式:使用
SlimWizard和WizardBuilder实现复杂流程,采用声明式且易于维护的方式。 - 自动发现区块:使用
[Section]特性自动注册和发现 UI 区块。 - 简洁组合:使用
DataTypeViewLocator将 ViewModel 映射到 View,并在CompositionRoot中管理依赖项。
指南
- ViewModel 和命令:创建健壮的 ViewModel 并处理命令。
- 向导和流程:使用
SlimWizard构建多步骤向导。 - 导航和区块:管理导航和基于区块的 UI。
- 组合和映射:View 与 ViewModel 连接及依赖注入的最佳实践。
集成边界
指南片段省略了导入、接口和应用程序服务;请根据已安装的 Zafiro/ReactiveUI 版本核对 API 和源生成器语法。未经兼容性检查,不要混用基于字段和基于 partial 属性的生成器风格。使用一种实际的区块注册方法,不要假设两种都必需。让服务提供程序在整个应用程序生命周期内保持活动,并在关闭时释放它及其订阅;在提交副作用之前处理向导取消/失败。下文提到的 Angor 文件是外部示例,并非必需的捆绑内容。
示例参考
如需了解实际应用,请参考 Angor 项目:
CreateProjectFlowV2.cs:构建复杂向导的优秀示例。HomeViewModel.cs:使用函数式响应式命令的简单区块 ViewModel。
适用场景
当需要执行概述中描述的工作流或操作时,可使用本技能。
限制
- 仅当任务明确符合上述范围时,才使用本技能。
- 不要将输出视为环境特定验证、测试或专家审核的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请暂停并请求澄清。
评论
支持 Markdown