Avalonia.Controls.Documents
12.4.1
Prefix Reserved
dotnet add package Avalonia.Controls.Documents --version 12.4.1
NuGet\Install-Package Avalonia.Controls.Documents -Version 12.4.1
<PackageReference Include="Avalonia.Controls.Documents" Version="12.4.1" />
<PackageVersion Include="Avalonia.Controls.Documents" Version="12.4.1" />
<PackageReference Include="Avalonia.Controls.Documents" />
paket add Avalonia.Controls.Documents --version 12.4.1
#r "nuget: Avalonia.Controls.Documents, 12.4.1"
#:package Avalonia.Controls.Documents@12.4.1
#addin nuget:?package=Avalonia.Controls.Documents&version=12.4.1
#tool nuget:?package=Avalonia.Controls.Documents&version=12.4.1
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 | Versions 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. |
-
net10.0
- Avalonia (>= 12.0.3)
- AvaloniaUI.Licensing (>= 3.1.2)
- SixLabors.ImageSharp (>= 4.1.2)
-
net8.0
- Avalonia (>= 12.0.3)
- AvaloniaUI.Licensing (>= 3.1.2)
- SixLabors.ImageSharp (>= 4.1.2)
NuGet packages (7)
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.RichTextEditor
Interactive rich text editor control for Avalonia with selection, formatting, and undo/redo support |
|
|
Avalonia.Controls.Documents.Serialization.Rtf
RTF serializer for Avalonia.Controls.Documents with high-fidelity import and export 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.4.1 | 127 | 11/5/2026 |
| 12.4.0 | 12,797 | 10/28/2026 |
| 12.3.1 | 22,266 | 10/8/2026 |
| 12.3.0 | 8,139 | 9/11/2026 |
| 12.2.3 | 16,404 | 8/20/2026 |
| 12.2.2 | 35,987 | 7/31/2026 |
| 12.2.1 | 712 | 7/29/2026 |
| 12.2.0 | 10,310 | 7/23/2026 |
| 12.1.5 | 9,360 | 6/29/2026 |
| 12.1.4 | 11,232 | 6/22/2026 |
| 12.1.3 | 841 | 6/9/2026 |
| 12.1.2 | 858 | 6/2/2026 |
| 12.1.1 | 1,548 | 5/14/2026 |
| 12.1.0 | 3,880 | 5/12/2026 |
## 12.4.1
### Fixes
- A paragraph whose text starts at the same offset as an empty inline (an empty `RichSpan`, or the `MarkdownHtmlInline` marker a markdown `<span>` tag leaves) paints its text. The text source could stop at the empty inline, read it as the end of the paragraph, and lay out nothing, so a markdown paragraph of `<span>` lines joined by hard breaks showed blank while its text was still in the document.
- `DocumentSnapshotBuilder.EndContainer` ends a table started inside the container, so the table is part of the container. A table row or cell added with no table open starts a table implicitly, and when the caller never ended it the table stayed open past the container, collected later rows, and was added to the document root at `Build`.