mcpField
A
avalonia-viewmodels-zafiro

avalonia-viewmodels-zafiro

github.com/davila7开发33.1k184 次安装今天更新
代码仓库

关于 avalonia-viewmodels-zafiro

这是一份使用 ReactiveUI 和 Zafiro 构建 Avalonia ViewModel、向导及导航的模式指南,面向应用开发者。内容涉及命令管理、区块发现以及 View 与 ViewModel 的组合。

主要功能

  1. 01ReactiveUI 状态与逻辑模式
  2. 02带进度报告的增强命令
  3. 03SlimWizard 与 WizardBuilder 流程
  4. 04通过 Section 自动发现 UI 区块
  5. 05DataTypeViewLocator 与依赖组合

适用场景

  1. 01构建响应式 Avalonia ViewModel
  2. 02实现多步骤向导流程
  3. 03自动注册并发现 UI 区块
  4. 04配置 View 与 ViewModel 映射及依赖

安装

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

$npx skills add https://github.com/davila7/claude-code-templates --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 中管理依赖项。

指南

示例参考

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

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

评论

支持 Markdown