Skills Development Modern Avalonia Layout Guidelines

Modern Avalonia Layout Guidelines

v20261106
avalonia-layout-zafiro
This skill provides guidelines for creating modern and maintainable Avalonia UI layouts using Zafiro.Avalonia. It emphasizes semantic containers, shared styles, and minimizing XAML redundancy. Users learn to avoid anti-patterns like hardcoded colors or deep nesting, instead utilizing behaviors and generic components for cleaner code.
Get Skill
483 downloads
Overview

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.
Info
Category Development
Name avalonia-layout-zafiro
Version v20261106
Size 5.87KB
Updated At 2026-11-07
Language