#79 Modern: adopt CornerRadius clip-escape workaround, drop status-bar backplate#135
Merged
Merged
Conversation
…r backplate The modern editor's entries ListView hits a WinUI 3 raster clip-escape bug (upstream microsoft-ui-xaml#11225): once content extent passes ~2^21 DIPs the renderer stops clipping bottom-edge rows and they paint over the status bar. The previous mitigation was an opaque backplate behind the status bar (StatusBackplateThreshold/StatusBackplateVisibility + a Border) that merely occluded the strays — cosmetic, and it dropped the true-Mica look on large files. Two responders on the upstream issue proposed a cleaner fix: give the ListView any non-zero CornerRadius, which forces a composition geometry clip on its content and re-establishes the bottom clip. CornerRadius="0.1" is visually indistinguishable from square and actually keeps rows inside the control, so it works with the transparent Mica band and no backplate is needed. - Add CornerRadius="0.1" to EntriesList. - Remove StatusBackplateThreshold, StatusBackplateVisibility, the backplate Border, and the two OnPropertyChanged(nameof(StatusBackplateVisibility)) calls. - Update the surrounding comments. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
scottlerch
marked this pull request as ready for review
July 14, 2026 21:55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #79.
What
Replaces the modern editor's status-bar backplate hack with the cleaner
CornerRadiusworkaround proposed on the upstream WinUI issue(microsoft/microsoft-ui-xaml#11225).
Why
The entries
ListViewhits a WinUI 3 raster clip-escape bug: once the list'scontent extent passes ~2²¹ DIPs, the renderer stops clipping bottom-edge rows and
they paint past the list onto the status bar below (see #72 / #79 for the full
investigation).
The old mitigation was an opaque backplate behind the status bar
(
StatusBackplateThreshold/StatusBackplateVisibility+ aBorder). It onlyoccluded the strays — rows still rendered out of bounds — and it sacrificed the
true-Mica look on large files by sliding an opaque panel in behind the status text.
Two responders on the upstream issue (
lgBlog,duckheadsoftware) independentlyreported that giving the
ListViewany non-zeroCornerRadiusmakes the bug goaway. A non-zero corner radius forces a composition geometry clip on the
ListView's content, which re-establishes the bottom clip — so rows are actually
kept inside the control rather than merely hidden. This works with the transparent
Mica band, so the backplate is no longer needed.
Changes
CornerRadius="0.1"toEntriesList(visually indistinguishable from square).StatusBackplateThreshold,StatusBackplateVisibility, the backplateBorder, and the twoOnPropertyChanged(nameof(StatusBackplateVisibility))refreshers.
Net: +16 / −44, only
MainWindow.xaml/MainWindow.xaml.cs.Build
dotnet build HostsFileEditor.WinUI(x64, Release + Debug) — 0 warnings, 0 errors.dotnet format --verify-no-changes— clean.Manual verification — ✅ confirmed fixed
Verified on a real machine against a ~400K-entry hosts file (loaded via the
HFE_HOSTS_PATHoverride, well past the ~2²¹-DIP / ~63K-row threshold):offset 0 and mid-list.
0.1radius is imperceptible).The workaround genuinely fixes the clipping, not just occludes it. The upstream bug is
still open, so the
CornerRadiusline stays until it ships fixed in a Windows App SDK(the comment on
EntriesListnotes this).🤖 Generated with Claude Code