Avalonia.Controls.Documents
12.2.3
Prefix Reserved
dotnet add package Avalonia.Controls.Documents --version 12.2.3
NuGet\Install-Package Avalonia.Controls.Documents -Version 12.2.3
<PackageReference Include="Avalonia.Controls.Documents" Version="12.2.3" />
<PackageVersion Include="Avalonia.Controls.Documents" Version="12.2.3" />
<PackageReference Include="Avalonia.Controls.Documents" />
paket add Avalonia.Controls.Documents --version 12.2.3
#r "nuget: Avalonia.Controls.Documents, 12.2.3"
#:package Avalonia.Controls.Documents@12.2.3
#addin nuget:?package=Avalonia.Controls.Documents&version=12.2.3
#tool nuget:?package=Avalonia.Controls.Documents&version=12.2.3
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.1)
- SixLabors.ImageSharp (>= 4.0.0)
-
net8.0
- Avalonia (>= 12.0.3)
- AvaloniaUI.Licensing (>= 3.1.1)
- SixLabors.ImageSharp (>= 4.0.0)
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.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.
## 12.2.3
### Fixes
- Applying a formatting property no longer leaves the old value behind on an outer inline. When several nested inlines cover the applied range in full, the value went to the innermost one, so a paragraph wrapped in Bold / Italic / Underline (what the readers produce for a paragraph that is styled end to end) kept the previous font size on the span above it. The value was shadowed, so nothing looked wrong until the wrapper was removed and the old size came back, and every consumer that flattens the inline hierarchy had to resolve precedence exactly right just to ignore it. The value now goes to the outermost inline covering that same range and is cleared from everything below it. Clearing a property over such a range now removes it from every level too, instead of stopping at the innermost one and letting an ancestor's value take over. Undo and redo restore the previous distribution unchanged.