关于 avalonia-layout-zafiro
这是一项使用 Zafiro.Avalonia 构建 Avalonia 布局的参考技能,面向设计或调整应用视图的开发者。内容强调语义化容器、共享样式、可复用组件和精简的 XAML 嵌套。
主要功能
- 01语义化布局容器
- 02共享样式与主题组织
- 03使用 IconExtension 和 IconOptions
- 04通过 Interaction.Behaviors 实现 UI 逻辑
- 05可复用组件与扁平化布局
适用场景
- 01使用 HeaderedContainer 或 EdgePanel 组织视图
- 02整理应用主题与共享样式
- 03在 Avalonia 视图中添加并设置图标样式
- 04用可复用组件替代深层嵌套布局
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill avalonia-layout-zafiro安装后在 Claude Code 中输入/avalonia-layout-zafiro确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
behaviors.mdcomponents.mdcontainers.mdicons.mdthemes.md详细介绍
使用 Zafiro.Avalonia 进行 Avalonia 布局
掌握现代、简洁且易于维护的 Avalonia UI 布局。 专注于语义容器、共享样式和精简的 XAML。
🎯 按需阅读规则
只阅读与布局问题相关的文件!
📑 内容索引
| 文件 | 说明 | 阅读时机 |
|---|---|---|
themes.md | 主题组织和共享样式 | 设置或优化应用主题时 |
containers.md | 语义容器(HeaderedContainer、EdgePanel、Card) | 组织视图和布局时 |
icons.md | 使用 IconExtension 和 IconOptions 添加图标 | 添加和自定义图标时 |
behaviors.md | Xaml.Interaction.Behaviors 和避免使用转换器 | 实现复杂交互时 |
components.md | 通用组件和避免嵌套 | 创建可复用 UI 元素时 |
🔗 相关项目(示例实现)
如需查看真实案例,请参考 Angor 项目:
/mnt/fast/Repos/angor/src/Angor/Avalonia/Angor.Avalonia.sln
✅ 整洁布局检查清单
- 是否使用了语义容器?(例如,使用
HeaderedContainer替代带有手动标题的Border) - 是否避免了冗余属性? 在
axaml文件中使用共享样式。 - 是否尽量减少了嵌套? 使用
EdgePanel或通用组件扁平化布局。 - 是否通过扩展添加图标? 使用
{Icon fa-name}和IconOptions设置样式。 - 是否优先使用行为而非代码隐藏? 使用
Interaction.Behaviors处理 UI 逻辑。 - 是否避免了转换器? 除非必要,否则优先使用 ViewModel 属性或行为。
❌ 反模式
不要:
- 在视图中使用硬编码的颜色或尺寸(字面量)。
- 创建深层嵌套的
Grid和StackPanel。 - 在多个元素上重复视觉属性(请使用样式)。
- 对属于 ViewModel 的简单逻辑使用
IValueConverter。
应该:
- 使用
DynamicResource设置颜色和画刷。 - 将重复布局提取为通用组件。
- 善用
Zafiro.Avalonia专用面板(如EdgePanel)实现常见 UI 模式。
评论
支持 Markdown