Novolis.Avalonia.Controls
2026.1.6.250
dotnet add package Novolis.Avalonia.Controls --version 2026.1.6.250
NuGet\Install-Package Novolis.Avalonia.Controls -Version 2026.1.6.250
<PackageReference Include="Novolis.Avalonia.Controls" Version="2026.1.6.250" />
<PackageVersion Include="Novolis.Avalonia.Controls" Version="2026.1.6.250" />
<PackageReference Include="Novolis.Avalonia.Controls" />
paket add Novolis.Avalonia.Controls --version 2026.1.6.250
#r "nuget: Novolis.Avalonia.Controls, 2026.1.6.250"
#:package Novolis.Avalonia.Controls@2026.1.6.250
#addin nuget:?package=Novolis.Avalonia.Controls&version=2026.1.6.250
#tool nuget:?package=Novolis.Avalonia.Controls&version=2026.1.6.250
Novolis.Avalonia.Controls
Reusable Avalonia interaction atoms (code-only, no XAML): choice/picker dialogs, marked lists, job queue panels, sortable data grids, download queues, peer/source grids, hex dump, and detail trees.
Sketch canvas lives in Novolis.Avalonia.Controls.Sketch. Torrent chrome lives in Novolis.Avalonia.Torrent.
Install
dotnet add package Novolis.Avalonia.Controls
Prerequisites: .NET 10 SDK (net10.0), Avalonia.
Control grain
Keep atoms (lists, dialogs, job rows). Reject controls that embed multiple product jobs or open workspaces. See avalonia-composition-grain.md.
Quick start
using Novolis.Avalonia.Controls;
var id = await ChoiceDialog.ShowAsync(window, "External change", "File changed on disk.", null,
[
new ChoiceOption("keep", "Keep local", IsDefault: true),
new ChoiceOption("reload", "Reload disk"),
new ChoiceOption("compare", "Compare later", IsCancel: true)
]);
var chapter = await FilteredPickerDialog.ShowAsync(window, "Go To", chapters, c => c.Title);
var list = MarkedListBox.Create([new MarkedListRow("*", "3", "Quiet Harbor", "420")]);
var jobs = new JobQueuePanel();
jobs.SetJobs([
new JobQueueRow
{
Title = "Generate audiobook",
StatusLabel = "Running",
Progress = 0.42,
ProgressLabel = "Synthesizing steps 3/10",
StepProgress =
[
new JobStepProgress { Label = "Prologue", Progress = 1, StatusLabel = "done" },
new JobStepProgress { Label = "Chapter 1", Progress = 0.4, StatusLabel = "2/5" },
],
CanCancel = true
}
]);
var grid = new SortableDataGrid();
grid.SetColumns([SortableDataGrid.TextColumn("Name", "Name")]);
var downloads = new DownloadQueueView();
downloads.CommandRequested += (item, command) =>
{
// Let the host pause, resume, verify, cancel, or open the output.
};
downloads.SetItems([
new DownloadItem
{
Name = "Example content",
TotalBytes = 4_000_000_000,
CompletedBytes = 1_800_000_000,
State = DownloadTransferState.Downloading,
DownloadBytesPerSecond = 2_400_000,
Eta = TimeSpan.FromMinutes(18),
Metadata = new DownloadMetadata
{
Hash = "content-hash",
AvailabilityPercent = 175,
SourceCount = 42,
SeedCount = 12,
PeerCount = 30,
OutputLocation = @"C:\Downloads\Example content",
AlternateNames = ["Example content", "Example-content"],
Peers =
[
new DownloadPeer
{
Endpoint = "source-1",
Location = "region",
Client = "peer client",
CompletionPercent = 100,
DownloadBytesPerSecond = 850_000,
PieceAvailability = [true, true, false, true],
},
],
},
},
]);
DownloadQueueView keeps the required transfer columns visible and expands
each row into DownloadDetailsView. The expanded surface includes hash,
alternate names for the same content, source details, output and transfer
paths, pieces, verification, errors, and an optional DownloadPeerGrid.
Hosts own all transport and file actions through DownloadCommand.
Related packages
| Package | When to use |
|---|---|
Novolis.Avalonia.Controls.Sketch |
Freehand sketch canvas |
Novolis.Avalonia.Torrent |
Torrent session panel |
Novolis.Avalonia.Layout |
Analyzer / authoring shells |
Novolis.Avalonia.Studio |
Status/flash chrome and focus mode |
Support
Pre-release.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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.1.4)
- Avalonia.Controls.DataGrid (>= 12.1.2)
- Novolis.Avalonia.GraphicalProfile (>= 2026.1.6.250)
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 |
|---|---|---|
| 2026.1.6.250 | 101 | 10/25/2026 |
| 2026.1.6.249 | 91 | 10/21/2026 |
| 2026.1.6.248 | 94 | 10/19/2026 |
| 2026.1.6.247 | 96 | 10/18/2026 |
| 2026.1.6.244 | 89 | 10/18/2026 |
| 2026.1.6.243 | 94 | 10/18/2026 |
| 2026.1.6.242 | 84 | 10/18/2026 |
| 2026.1.6.241 | 92 | 10/18/2026 |
| 2026.1.6.240 | 92 | 10/12/2026 |
| 2026.1.6.230 | 121 | 10/6/2026 |
| 2026.1.6.229 | 105 | 10/4/2026 |
| 2026.1.6.228 | 98 | 10/4/2026 |
| 2026.1.6.226 | 109 | 10/4/2026 |
| 2026.1.6.221 | 105 | 10/4/2026 |
| 2026.1.6.220 | 99 | 10/3/2026 |
| 2026.1.6.218 | 100 | 10/3/2026 |
| 2026.1.6.196 | 103 | 10/2/2026 |
| 2026.1.6.195 | 98 | 10/2/2026 |
| 2026.1.6.194 | 101 | 10/1/2026 |
| 2026.1.6.192 | 112 | 9/30/2026 |