Zafiro Avalonia 布局
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/avalonia-layout-zafiro。
技能介绍
布局为什么会变难维护
Avalonia 项目一旦视图变多,常见症状是 Grid 与 StackPanel 层层套叠、同一套边距和标题样式在多个 axaml 里复制粘贴,以及用 IValueConverter 处理本可以放在 ViewModel 或 UI 行为里的逻辑。硬编码颜色与尺寸会让换主题和统一视觉成本陡增。
技能在讲什么
本技能围绕 Zafiro.Avalonia 的组织方式,按场景拆成主题、容器、图标、Behaviors 与可复用组件等专题,并强调 按需阅读:只打开与当前布局问题相关的说明,而不是通读整库。
核心能力包括:
- 语义化容器:用
HeaderedContainer、EdgePanel、Card等表达「带标题区块」「边缘对齐」「卡片」等意图,替代手动 Border + TextBlock 拼标题。 - 共享样式与主题:颜色与画刷走
DynamicResource,重复视觉属性收敛到 Styles / 主题文件(见 themes 相关指引)。 - 图标:通过
{Icon fa-name}与IconOptions统一图标用法,避免各控件各自写 Path 或重复属性。 - Behaviors 优先:复杂交互优先
Xaml.Interaction.Behaviors,减少后置代码与不必要的 Converter。 - 扁平化结构:用 EdgePanel、泛型组件减少嵌套深度(components 相关指引)。
文内还提供 整洁布局检查清单 与 反模式对照(例如避免字面量尺寸、深层嵌套、重复属性),并指向 Angor 等示例解决方案作为真实 axaml 参考。
适用边界
技能侧重 布局与 XAML 结构,不替代 Avalonia 官方文档中的绑定、路由或平台部署说明。若项目未引入 Zafiro.Avalonia,需先具备对应 NuGet/项目引用;Converter 并非绝对禁止,文档建议是 仅在必要时 使用,简单展示逻辑应回到 ViewModel 属性或 Behaviors。
使用场景
- 现有设置页用多层 Grid 堆标题和边框,需要改成 HeaderedContainer 或 Card 并统一边距样式
- 应用换深色主题时大量 axaml 仍写死颜色,需要按 themes 指引改为 DynamicResource 与共享 Styles
- 列表与详情页要在多处复用相同图标样式,需要用 IconExtension 与 IconOptions 替代重复 Path
- 表单校验与按钮可用性目前写在 Converter 或 code-behind,希望改用 Interaction.Behaviors 绑定 ViewModel
适合人员
- 维护 Avalonia 业务客户端、需要在 PR 里减少 axaml 嵌套与重复样式的桌面开发
- 从 WPF 迁到 Avalonia、已引入 Zafiro 库并要按容器与 EdgePanel 模式重排现有视图
- 负责应用主题与资源字典、要把字面量颜色和尺寸收敛到共享主题文件的 UI 工程师
- 在 Angor 或同类项目中对照示例、为团队制定 Zafiro 布局检查清单的技术负责人