mcpField
A
avalonia-viewmodels-zafiro

avalonia-viewmodels-zafiro

github.com/sickn33开发48.7k513 次安装今天更新
代码仓库

关于 avalonia-viewmodels-zafiro

为 Avalonia 应用提供使用 ReactiveUI 和 Zafiro 构建 ViewModel、向导与导航的实践指南,适合开发桌面界面的开发者。内容涵盖响应式状态、命令、流程组织和视图映射,并强调按已安装版本验证 API。

主要功能

  1. 01ReactiveUI 状态与逻辑模式
  2. 02增强命令与进度报告
  3. 03SlimWizard 多步骤流程
  4. 04Section 自动发现
  5. 05ViewModel 与 View 映射

适用场景

  1. 01构建 Avalonia 应用的 ViewModel
  2. 02实现多步骤向导流程
  3. 03组织导航和分区界面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill avalonia-viewmodels-zafiro

安装后在 Claude Code 中输入/avalonia-viewmodels-zafiro确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

composition.md
navigation_sections.md
viewmodels.md
wizards.md

详细介绍

使用 Zafiro 编写 Avalonia ViewModel

本技能介绍一组最佳实践和模式,用于在 Avalonia 应用程序中创建 ViewModel、向导和管理导航,并充分利用 ReactiveUI 和 Zafiro 工具包。

核心原则

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

指南

集成边界

指南片段省略了导入、接口和应用程序服务;请根据已安装的 Zafiro/ReactiveUI 版本核对 API 和源生成器语法。未经兼容性检查,不要混用基于字段和基于 partial 属性的生成器风格。使用一种实际的区块注册方法,不要假设两种都必需。让服务提供程序在整个应用程序生命周期内保持活动,并在关闭时释放它及其订阅;在提交副作用之前处理向导取消/失败。下文提到的 Angor 文件是外部示例,并非必需的捆绑内容。

示例参考

如需了解实际应用,请参考 Angor 项目:

  • CreateProjectFlowV2.cs:构建复杂向导的优秀示例。
  • HomeViewModel.cs:使用函数式响应式命令的简单区块 ViewModel。

适用场景

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

限制

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

评论

支持 Markdown