news 2026/9/26 17:00:59

【研发类-前端开发Skills】avalonia-viewmodels-zafiro 技能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【研发类-前端开发Skills】avalonia-viewmodels-zafiro 技能

使用Zafiro和ReactiveUI的Avalonia最佳ViewModel和向导创建模式。

技能概述

avalonia-viewmodels-zafiro 技能提供一套最佳实践和模式,用于在Avalonia应用程序中创建ViewModel、向导和管理导航,利用ReactiveUI和Zafiro工具包的强大功能。

下载地址:https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/avalonia-viewmodels-zafiro

核心原则

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

指南文档

ViewModels & Commands

文件:viewmodels.md

创建健壮的ViewModel和处理命令。

Wizards & Flows

文件:wizards.md

使用SlimWizard构建多步骤向导。

Navigation & Sections

文件:navigation_sections.md

管理导航和基于节的UI。

Composition & Mapping

文件:composition.md

View-ViewModel连接和依赖注入的最佳实践。

关键组件

ReactiveObject

所有ViewModel的基类,提供属性变更通知机制。

IEnhancedCommand

增强的命令接口,支持进度报告和命令元数据。

SlimWizard

轻量级向导实现,用于多步骤流程。

WizardBuilder

流畅的向导构建器,提供声明式API。

[Section]属性

用于标记和自动发现UI节的特性。

DataTypeViewLocator

根据ViewModel类型自动定位对应View的机制。

示例参考

有关真实世界的实现,请参考Angor项目:

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

使用场景

  • 创建复杂的ViewModel层次结构
  • 实现多步骤向导流程
  • 管理应用程序导航
  • 构建基于节的用户界面
  • 处理异步命令和进度报告

最佳实践

  1. 使用ReactiveUI:充分利用ReactiveObject和WhenAnyValue
  2. 增强命令:使用IEnhancedCommand获得更好的命令管理
  3. 向导构建:使用WizardBuilder实现声明式向导
  4. 节发现:使用[Section]属性自动注册UI节
  5. 清晰组合:在CompositionRoot中集中管理依赖项
  6. View定位:使用DataTypeViewLocator自动映射

注意事项

限制:

  • 仅在任务明确匹配上述范围时使用此技能
  • 不要将输出视为环境特定验证、测试或专家审查的替代品
  • 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 17:00:48

小团队自建永久在线CRM:Flask+PostgreSQL+Nginx实战

1. 为什么小团队需要一个"永久在线"的CRM做过小团队管理的人都有一个共同体会:客户信息散落在微信聊天记录、Excel表格、个人手机通讯录里,销售一走,客户跟着走。市面上成熟的SaaS CRM按人头收费,五个人一年下来少说几千…

作者头像 李华
网站建设 2026/9/26 16:57:15

Windows窗口自动排布工具:支持复合筛选与事件驱动的编排系统

1. 这不是普通窗口管理器:它专为“多任务并行”而生你有没有过这样的时刻:开着3个浏览器窗口查资料、2个Excel表格核对数据、1个微信窗口同步沟通、后台还挂着远程桌面和监控看板——结果一晃神,某个关键窗口被盖在最底下,找它得挨…

作者头像 李华
网站建设 2026/9/26 16:56:30

HIS系统部署与二次开发实战:从数据库初始化到挂号收费主链路

简介:一套面向小型诊所和医疗机构的轻量级HIS(医院信息系统)源码包,基于ASP.NET Web技术构建,覆盖病患管理、挂号、药品、收费、统计报表、医生排班和患者追踪等核心模块。压缩包共451个文件,约7.05MB&…

作者头像 李华
网站建设 2026/9/26 16:56:26

训练数据投毒原理与防御:从后门攻击到供应链安全

1. 先搞清楚:训练数据投毒到底是怎么“毒”到模型的很多人一听到“训练数据投毒”这六个字,第一反应是黑客往数据库里塞病毒脚本,或者在训练集里混入一堆恶意图片让模型崩溃。半对。往训练集里塞恶意样本是真的,但“毒”的逻辑远比…

作者头像 李华
网站建设 2026/9/26 16:56:15

Trae一键生成系统架构图:用TaoToken统一Key打通AI出图链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 16:56:05

SQL-Lab Less-14 双引号POST报错注入与盲注实战复盘

做Web安全测试这几年,SQL-Lab一直是我拿来练手感的老伙计。它的每一关都像一张精心设计的习题卡,Less-14单看标题就是个不起眼的编号,但真动手复现一遍才发现,这一关把"POST型双引号字符串注入"和"报错回显"这…

作者头像 李华