Avalonia.Controls.Documents 12.2.2

Prefix Reserved
dotnet add package Avalonia.Controls.Documents --version 12.2.2
                    
NuGet\Install-Package Avalonia.Controls.Documents -Version 12.2.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Avalonia.Controls.Documents" Version="12.2.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Avalonia.Controls.Documents" Version="12.2.2" />
                    
Directory.Packages.props
<PackageReference Include="Avalonia.Controls.Documents" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Avalonia.Controls.Documents --version 12.2.2
                    
#r "nuget: Avalonia.Controls.Documents, 12.2.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Avalonia.Controls.Documents@12.2.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Avalonia.Controls.Documents&version=12.2.2
                    
Install as a Cake Addin
#tool nuget:?package=Avalonia.Controls.Documents&version=12.2.2
                    
Install as a Cake Tool

Avalonia.Controls.Documents

Core document model library for Avalonia rich text controls. Provides rope-based text storage, a hierarchical document tree, text pointers, undo/redo, and snapshotting.

Features

  • Rope-based text storage (RopeTextStore) with O(log n) insert and delete
  • Document tree model (TextDocument, TextDocumentNode) for structural editing
  • Text pointer API (TextPointer, TextRange) with generation-based invalidation
  • Undo/Redo (UndoManager) with structural snapshot support
  • FlowDocument model with blocks (paragraphs, lists, tables, sections) and inlines
  • Document snapshots for thread-safe background serialization

Quick Start

var document = new FlowDocument();
var paragraph = new Paragraph();
paragraph.Inlines.Add(new Run("Hello, world!"));
document.Blocks.Add(paragraph);

Documentation

See the documentation for more details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Avalonia.Controls.Documents:

Package Downloads
Avalonia.Controls.Markdown

Markdown rendering control for Avalonia applications

Avalonia.Controls.Documents.Serialization.Html

HTML serializer for Avalonia.Controls.Documents

Avalonia.Controls.Documents.Serialization.Rtf

RTF serializer for Avalonia.Controls.Documents with high-fidelity import and export support

Avalonia.Controls.RichTextEditor

Interactive rich text editor control for Avalonia with selection, formatting, and undo/redo support

Avalonia.Controls.Documents.Serialization.Docx

DOCX serializer for Avalonia.Controls.Documents based on Open XML

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
12.2.2 0 7/31/2026
12.2.1 133 7/29/2026
12.2.0 3,413 7/23/2026
12.1.5 8,974 6/29/2026
12.1.4 2,767 6/22/2026
12.1.3 746 6/9/2026
12.1.2 782 6/2/2026
12.1.1 1,181 5/14/2026
12.1.0 734 5/12/2026

## 12.2.2

### Fixes
- A text view whose host measures it with an infinite height — a vertical `StackPanel`, a `ScrollViewer`'s content, an `ItemsControl` panel — no longer scrolls its fully visible content out of the control. Sizing to content realizes every block and returns the full content height, but the view still reported a zero logical viewport against the full extent, so the template `ScrollViewer` of `Markdown`, `RichTextEditor`, and `FlowDocumentScrollViewer` considered the whole content scrollable: it showed a phantom auto-hiding scrollbar, captured wheel input instead of letting it reach the surrounding scroll viewer, and a single wheel tick shifted the content permanently out of view, leaving the control blank. Any finite constraint (a Grid cell, a `DockPanel` fill, a finite `MaxHeight`) masked the problem, which is why the failure tracked the hosting panel. The view now publishes a viewport equal to its extent on each unbounded axis — including the empty-document case — so nothing is scrollable: scrollbars stay hidden, wheel input bubbles to the outer scroller, and the scroll offset stays pinned at zero. Scroll intent recorded while sizing to content is discarded instead of replaying as a jump when the host later provides a bounded viewport.