Lyo.Avalonia.Components 3.0.0

dotnet add package Lyo.Avalonia.Components --version 3.0.0
                    
NuGet\Install-Package Lyo.Avalonia.Components -Version 3.0.0
                    
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="Lyo.Avalonia.Components" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lyo.Avalonia.Components" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Lyo.Avalonia.Components" />
                    
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 Lyo.Avalonia.Components --version 3.0.0
                    
#r "nuget: Lyo.Avalonia.Components, 3.0.0"
                    
#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 Lyo.Avalonia.Components@3.0.0
                    
#: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=Lyo.Avalonia.Components&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Lyo.Avalonia.Components&version=3.0.0
                    
Install as a Cake Tool

Lyo.Avalonia.Components

Desktop apps share this library the way Blazor hosts share Lyo.Web.Components. ToolDockBuilder lays named panes around a center control on the left, right, or bottom. ToolDockHit picks the drop edge while a title bar is dragged. ScreenEdgeDock parks a window on the nearest screen edge. EdgeDockBar is the tab on that edge: the app sets its size, icon, and buttons. EdgeDockWindow hides the window contents, places the bubble, and puts the window back when the drag leaves the edge. Click, double-click, and the buttons stay with the app. AvaloniaDesktop.Configure starts a desktop app with platform detection and the Inter font. Tabber is the shared tab strip: each page is parented once, and selecting a tab only shows that page.

Features

  • Tool windows. ToolDockState records each pane's edge, visibility, and whether it is minimized. ToolDockBuilder.Fill stacks left and right panes vertically and bottom panes sideways, with splitters and a header the user can drag. Minimize collapses that pane to its header and shrinks the edge when every pane there is minimized. Close hides the pane; the host rebuilds from the changed callback.
  • Screen edge. ScreenEdgeDock.Place chooses the nearest edge from the window center and clamps the tab inside the work area. Expand grows the window inward. Clamp pulls an open tab back onto the screen without leaving its edge. IconBias shifts the icon toward a corner so turning onto the next edge does not throw it outward. PulledOff says when a drag has left the edge.
  • Edge tab. EdgeDockBar draws the icon and any number of buttons. Thickness, Length, and Corner set the shape. Hover opens the buttons, and leaving closes them. Click, double-click, and drag are events the app handles. EdgeDockWindow owns the docked flag, the rest position, and the settle loop that puts the title bar back. EdgeDockRest is the open size: a fixed height, or height from the content.
  • Prompts. PromptDialog.AskAsync, ConfirmAsync, and ShowTextAsync are owned dialogs with the shared dark chrome. Labeled, Stack, and Buttons are the pieces a domain dialog reuses.
  • Name and value. NameValueList draws labeled rows. Play context, a captured request, and an element inspection share it.
  • JSON. JsonEditor shows a JSON document as a virtualized tree or as raw text. The tree searches, expands, collapses, colors values, and copies one node. A body that is not JSON stays as text.
  • Tabs. Tabber keeps each page parented once and only changes which page is visible. Headers can close, rename, and disable.
  • Log. LogView is a virtualized log fed by LogSink. Each row has a timestamp, a level chip, and the message. The toolbar filters by level and text, follows the tail, and copies or exports the visible lines.

Examples

Start a desktop app

public static AppBuilder BuildAvaloniaApp() => AvaloniaDesktop.Configure<App>();

Dock a bubble to the nearest edge

var anchor = ScreenEdgeDock.Place(0, 0, 1920, 1080, 1700, 340, 200, 400, ScreenEdgeDock.Thickness, ScreenEdgeDock.Diameter);
var corners = ScreenEdgeDock.Corners(anchor.Edge);

Dependencies

Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).

  • Lyo.Exceptions (direct, lyo)
  • Avalonia 12.1.3 (direct, third-party)
  • Avalonia.Desktop 12.1.3 (direct, third-party)
  • Avalonia.Fonts.Inter 12.1.3 (direct, third-party)
  • Microsoft.Extensions.Logging.Abstractions 10.0.5 (direct, microsoft)
Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
3.0.0 49 10/23/2026