mcpField
A
avalonia-layout-zafiro

avalonia-layout-zafiro

github.com/davila7Design & UI33.0k188 installsUpdated today
Repository

About avalonia-layout-zafiro

A reference skill for building Avalonia layouts with Zafiro.Avalonia, aimed at developers structuring or refining app views. It emphasizes semantic containers, shared styles, reusable components, and minimal XAML nesting.

Key features

  1. 01Semantic layout containers
  2. 02Shared styles and theme organization
  3. 03IconExtension and IconOptions usage
  4. 04Interaction.Behaviors for UI logic
  5. 05Reusable components and flatter layouts

Use cases

  1. 01Structure views with HeaderedContainer or EdgePanel
  2. 02Organize shared app themes and styles
  3. 03Add and style icons in Avalonia views
  4. 04Replace deep nested layouts with reusable components

Install

Copy the command and run it in a terminal.

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

After installing, type/avalonia-layout-zafiroin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

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

Details

From the project README

Avalonia Layout with Zafiro.Avalonia

Master modern, clean, and maintainable Avalonia UI layouts. Focus on semantic containers, shared styles, and minimal XAML.

🎯 Selective Reading Rule

Read ONLY files relevant to the layout challenge!


📑 Content Map

FileDescriptionWhen to Read
themes.mdTheme organization and shared stylesSetting up or refining app themes
containers.mdSemantic containers (HeaderedContainer, EdgePanel, Card)Structuring views and layouts
icons.mdIcon usage with IconExtension and IconOptionsAdding and customizing icons
behaviors.mdXaml.Interaction.Behaviors and avoiding ConvertersImplementing complex interactions
components.mdGeneric components and avoiding nestingCreating reusable UI elements

🔗 Related Project (Exemplary Implementation)

For a real-world example, refer to the Angor project: /mnt/fast/Repos/angor/src/Angor/Avalonia/Angor.Avalonia.sln


✅ Checklist for Clean Layouts

  • Used semantic containers? (e.g., HeaderedContainer instead of Border with manual header)
  • Avoided redundant properties? Use shared styles in axaml files.
  • Minimized nesting? Flatten layouts using EdgePanel or generic components.
  • Icons via extension? Use {Icon fa-name} and IconOptions for styling.
  • Behaviors over code-behind? Use Interaction.Behaviors for UI-logic.
  • Avoided Converters? Prefer ViewModel properties or Behaviors unless necessary.

❌ Anti-Patterns

DON'T:

  • Use hardcoded colors or sizes (literals) in views.
  • Create deep nesting of Grid and StackPanel.
  • Repeat visual properties across multiple elements (use Styles).
  • Use IValueConverter for simple logic that belongs in the ViewModel.

DO:

  • Use DynamicResource for colors and brushes.
  • Extract repeated layouts into generic components.
  • Leverage Zafiro.Avalonia specific panels like EdgePanel for common UI patterns.

Comments

Markdown supported