CConner100.RichEditBoxLite
0.1.0
dotnet add package CConner100.RichEditBoxLite --version 0.1.0
NuGet\Install-Package CConner100.RichEditBoxLite -Version 0.1.0
<PackageReference Include="CConner100.RichEditBoxLite" Version="0.1.0" />
<PackageVersion Include="CConner100.RichEditBoxLite" Version="0.1.0" />
<PackageReference Include="CConner100.RichEditBoxLite" />
paket add CConner100.RichEditBoxLite --version 0.1.0
#r "nuget: CConner100.RichEditBoxLite, 0.1.0"
#:package CConner100.RichEditBoxLite@0.1.0
#addin nuget:?package=CConner100.RichEditBoxLite&version=0.1.0
#tool nuget:?package=CConner100.RichEditBoxLite&version=0.1.0
RichEditBoxLite
RichEditBoxLite is an experimental WinUI-shaped rich-text editor for Uno
Platform's Skia renderer. It targets Desktop, WebAssembly, Android, and iOS and
does not target WinAppSDK or Uno native rendering.
Install the current package:
dotnet add package CConner100.RichEditBoxLite --version 0.1.0
xmlns:rte="using:CConner100.RichEditBoxLite"
<rte:RichEditBoxLite
Header="Notes"
TextChanged="Editor_TextChanged" />
The public CLR and package namespace is CConner100.RichEditBoxLite.
What is implemented
- A Skia
SKCanvasElementrenderer with formatted runs, selection, caret, wrapping, spellcheck marks, and range geometry. - A transparent Uno
TextBoxinput bridge for platform keyboard, dead-key, IME, selection, clipboard, and virtual-keyboard integration. - UTF-16 public positions with document/range/selection operations, find,
case changes, undo/redo, grouped edits, character formatting, paragraph
formatting, and inline-object projection (
U+FFFC). - Bounded RTF import and canonical export for text, Unicode, font size, bold/italic/underline/strike, colors, highlight, subscript, superscript, paragraphs, and tabs.
- Built-in lightweight English (
en-US) and Spanish (es-ES) proofing with suggestions, ignored words, and custom words. - A Fluent-styled control template with WinUI-compatible part/state intent, dependency properties, custom event arguments, and a value automation peer.
- A seven-section Test UI with stable automation IDs plus document, malformed input, RTF round-trip, API-inventory, and spellcheck tests.
Compatibility status
This is a usable foundation, not a claim of complete WinUI RichEdit parity.
The public surface is deliberately WinUI-shaped, but a few types must come from
CConner100.RichEditBoxLite because Uno's WinUI event-argument and text-object
constructors are internal.
| Area | v0.1 status |
|---|---|
| Plain text, caret, selection, keyboard input | Implemented through Uno input bridge |
| Character formats | Implemented for core format run properties |
| Paragraph alignment/indent/list metadata | Stored; alignment/list painting remains partial |
| RTF core profile | Implemented and bounded; normalized import |
| Undo/redo and grouped edits | Implemented |
| Find, movement, case conversion | Implemented; movement is character-based except unit expansion |
| Spellcheck en-US/es-ES | Implemented with bundled compact dictionaries |
| Hyperlinks | Link metadata surface exists; activation UI is not implemented |
| Images | Inline placeholder projection exists; binary PNG/JPEG persistence/painting is not implemented |
| Imported tables | Normalized editable text; structural table API is intentionally absent |
| HTML clipboard import | Not implemented |
| Touch selection handles | Delegated to the Uno TextBox bridge; host support varies |
| IME/dead keys/virtual keyboard | Delegated to Uno; requires target-device validation |
| Accessibility | Value automation pattern implemented; full text patterns depend on Uno runtime support |
| RTL | Properties retained; renderer is left-to-right |
| MathML, handwriting, OLE, advanced Word destinations | Unsupported |
| Candidate-window placement | Property retained; host placement may ignore it |
| Pagination-only paragraph behavior | Metadata only; continuous layout |
See docs/compatibility.md for the detailed native-Skia feasibility assessment and PublicAPI.Shipped.txt for the approved compatibility inventory.
Build and run
Requires .NET 10 and Uno Platform workloads.
dotnet build RichEditBoxLite.TestApp/RichEditBoxLite.TestApp.csproj -f net10.0-desktop
dotnet run --project RichEditBoxLite.TestApp/RichEditBoxLite.TestApp.csproj -f net10.0-desktop
dotnet test RichEditBoxLite.TestApp.Tests/RichEditBoxLite.TestApp.Tests.csproj
dotnet pack src/CConner100.RichEditBoxLite/CConner100.RichEditBoxLite.csproj -c Release
Target frameworks:
net10.0-desktopnet10.0-browserwasmnet10.0-androidnet10.0-ios
The Test UI navigation covers Playground, Formatting and Document API, RTF and Rich Content, Input/Clipboard/Spellcheck, Properties and Visual States, Event Monitor, and Accessibility/Stress.
Security profile
RTF input is capped at 16 MiB and 256 nested groups. Remote images are never loaded. Unsupported binary/object/math destinations are discarded during normalized import. Malformed unbalanced input is rejected.
License
MIT. See LICENSE and THIRD-PARTY-NOTICES.md.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-android36.0 is compatible. net10.0-browser was computed. net10.0-browserwasm1.0 is compatible. net10.0-desktop1.0 is compatible. net10.0-ios was computed. net10.0-ios26.0 is compatible. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.6.176)
- Uno.WinUI.Graphics2DSK (>= 6.6.176)
- Uno.WinUI.Lottie (>= 6.6.176)
-
net10.0-android36.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.6.176)
- Uno.WinUI.Graphics2DSK (>= 6.6.176)
- Uno.WinUI.Lottie (>= 6.6.176)
-
net10.0-browserwasm1.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.6.176)
- Uno.WinUI.Graphics2DSK (>= 6.6.176)
- Uno.WinUI.Lottie (>= 6.6.176)
-
net10.0-desktop1.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.6.176)
- Uno.WinUI.Graphics2DSK (>= 6.6.176)
- Uno.WinUI.Lottie (>= 6.6.176)
-
net10.0-ios26.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.6.176)
- Uno.WinUI.Graphics2DSK (>= 6.6.176)
- Uno.WinUI.Lottie (>= 6.6.176)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 50 | 7/27/2026 |