mcpField
A
avalonia-layout-zafiro

avalonia-layout-zafiro

github.com/sickn33Design & UI48.7k621 installsUpdated today
Repository

About avalonia-layout-zafiro

avalonia-layout-zafiro is a skill for structuring Avalonia UI layouts with Zafiro.Avalonia. It helps developers use semantic containers, shared styles, and reusable components while keeping XAML concise.

Key features

  1. 01Semantic layout containers
  2. 02Shared styles and theme guidance
  3. 03Icon usage with extensions
  4. 04Interaction behaviors
  5. 05Reusable components and flatter layouts

Use cases

  1. 01Organizing Avalonia views
  2. 02Reducing repeated visual properties
  3. 03Adding icons and UI interactions
  4. 04Refining reusable layout components

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sickn33/agentic-awesome-skills --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
icons.md
components.md
themes.md
containers.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!


The five guides below are bundled; the author-local Angor solution is not. Examples are partial and need the actual Avalonia/Zafiro/package versions and XML namespace declarations; UntouchedClassBehavior and icon resources must exist in that installation. Do not assume MultiBinding supplies logical And/Or without a suitable converter, or merge style files as ResourceDictionary resources when they contain Styles. Use StyleInclude for style collections and ResourceInclude for resource dictionaries as appropriate to the file root. Keep icons accessible, preserve focus/keyboard behavior and test light/dark themes, text scaling and localization. Avoiding converters/code-behind is a design preference, not a universal correctness or performance rule.

📑 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.

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Comments

Markdown supported