Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 23 of 117 Next →
February 27, 2026
patch Desktop Shell

Enable Avalonia DevTools in debug builds (F12)

Details

Calls mainWindow.AttachDevTools() in #if DEBUG so the built-in

element inspector, visual tree viewer, and layout visualizer are

available via F12 during development.

patch UI Components

SplitPaneLayout: force clip geometry on panes in ArrangeOverride

Details

When a child's DesiredSize exceeds the arranged rect, ArrangeCore

may let the child render at its desired width, overflowing into the

adjacent pane. ClipToBounds on the parent Control doesn't reliably

clip in this scenario. Now explicitly sets Clip = RectangleGeometry

on each pane after arrange, guaranteeing content stays within its

allocated region.

patch UI Components

Rewrite SplitPaneLayout as direct Control with own layout

Details

The Border→SplitPanel→Border-host chain wasn't properly constraining

child content width. Rewrote as a Control subclass that directly

manages Pane1, Pane2, and the resize handle as visual/logical

children, with MeasureOverride and ArrangeOverride that measure each

child with its exact proportional width constraint and arrange at

exact rects. No intermediate containers to lose constraints.

patch UI Components

Fix SplitPaneLayout: use Border hosts instead of ContentPresenter

Details

ContentPresenter outside a ControlTemplate doesn't reliably present

Control content in Avalonia. Replaced with Border hosts that use

Child property directly.

Also fixed MeasureOverride: was returning availableSize which could

contain Infinity, causing the layout system to give zero size. Now

clamps infinite dimensions and measures each child with its

proportional share of space.

patch UI Components

Add SplitPaneLayout shared control to UI.Adaptive

Details

Code-only Border subclass with a custom inner Panel that arranges

two content panes and a draggable resize handle using ratio-based

math. Avoids the star-column minimum width issues that plague

Grid-based split implementations.

Properties: Ratio (pane2 fraction), MinRatio, MaxRatio, HandleSize,

Pane1, Pane2. Fires RatioChanged event on drag release for

persistence. During drag, uses an internal _dragRatio for live

feedback without updating the bound property on every pixel.

Replaces the inline resize logic pattern found in Tasks and Data

plugins with a single reusable component.

← Prev Page 23 of 117 Next →

Get notified about new releases