Skip to main content
net10.0net8.0net9.0

The set of base classes and extension methods over Avalonia's controls to define views/markup with C# code instead of XAML.

Published
Aug 2, 2026
2mo ago
Total Downloads
49.6K
49,565

Install

dotnet add package Avalonia.Markup.Declarative --version 12.1.1
ProductVersions
.NET
net10.0net8.0net9.0

README


Avalonia.Markup.Declarative

Write Avalonia UI with pure C#

repo: https://github.com/AvaloniaCommunity/Avalonia.Markup.Declarative

to use with external libraries, install AvaloniaExtensionGenerator tool here:

https://www.nuget.org/packages/AvaloniaExtensionGenerator/

Quick Start sample:

https://github.com/AvaloniaCommunity/Avalonia.Markup.Declarative/tree/master/src/Samples/DeclarativeComponentTemplate

Compiled-binding setters support automatic conversion for common primitive and nullable mismatches, so prefer plain member access like x => x.Property and skip numeric casts; for example, int -> double and bool -> bool? bindings work without a manual converter or a cast. A value-converting cast such as x => (double)x.Counter is rejected by Avalonia's expression parser, but type casts that reach a member of a derived type — e.g. x => ((DerivedType)x).Property — are supported. Lossy numeric TwoWay convert-back truncates toward zero.

AI agent tooling: the dev-only Declarative.Avalonia.AgentTools package runs an in-process MCP server (loopback, debug builds) that gives an agent screenshots (with before/after diffing), the visual tree with bounds, per-control layout reports, an automated layout audit, property/property-source/view-model inspection, pixel↔control hit-testing, a highlight overlay that frames where a control actually landed, and build/binding/runtime errors of the running app — plus an opt-in tier to drive it (click, type, resize, theme, and set view-model state / run commands directly). The app can also show a live "agent connected" status. See docs/agent-tools.md.

Changes from Previous Version

No structural changes between v12.1.0 and v12.1.1.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

Compatibility metadata lists 3 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.