mcpField
A
avalonia-layout-zafiro

avalonia-layout-zafiro

github.com/davila7设计与 UI33.0k188 次安装今天更新
代码仓库

关于 avalonia-layout-zafiro

这是一项使用 Zafiro.Avalonia 构建 Avalonia 布局的参考技能,面向设计或调整应用视图的开发者。内容强调语义化容器、共享样式、可复用组件和精简的 XAML 嵌套。

主要功能

  1. 01语义化布局容器
  2. 02共享样式与主题组织
  3. 03使用 IconExtension 和 IconOptions
  4. 04通过 Interaction.Behaviors 实现 UI 逻辑
  5. 05可复用组件与扁平化布局

适用场景

  1. 01使用 HeaderedContainer 或 EdgePanel 组织视图
  2. 02整理应用主题与共享样式
  3. 03在 Avalonia 视图中添加并设置图标样式
  4. 04用可复用组件替代深层嵌套布局

安装

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

$npx skills add https://github.com/davila7/claude-code-templates --skill avalonia-layout-zafiro

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

包含的文件

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

behaviors.md
components.md
containers.md
icons.md
themes.md

详细介绍

使用 Zafiro.Avalonia 进行 Avalonia 布局

掌握现代、简洁且易于维护的 Avalonia UI 布局。 专注于语义容器、共享样式和精简的 XAML。

🎯 按需阅读规则

只阅读与布局问题相关的文件!


📑 内容索引

文件说明阅读时机
themes.md主题组织和共享样式设置或优化应用主题时
containers.md语义容器(HeaderedContainer、EdgePanel、Card)组织视图和布局时
icons.md使用 IconExtension 和 IconOptions 添加图标添加和自定义图标时
behaviors.mdXaml.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