From fa5b99b94772246fdf5c18ba14e263b61c57df2e Mon Sep 17 00:00:00 2001 From: Meik Date: Thu, 5 Mar 2026 18:18:00 +0100 Subject: [PATCH] fix(ui): reapply rounded clipping after refresh --- Changelog.md | 1 + MainWindow.xaml.cs | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/Changelog.md b/Changelog.md index 1285780..833ab5e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -12,6 +12,7 @@ - Initialisierung des Rounded-Clips auf den finalen Layout-Zeitpunkt erweitert (Loaded/Render), damit die Rundungsbegrenzung stabil greift. - MainWindow-Ecküberstände beseitigt: Navigation-Rail unten links an den Fensterradius angepasst, Content-Bereich im `DockPanel` als Fill-Element geführt, zusätzlicher Surface-Clip auf Radius `20` gesetzt, den gesamten `MainWindowContentRoot` als konstanten `1px`-Inset innerhalb des Rahmens geführt, den Body-Host per Geometrie mit zum Innenradius passenden gerundeten unteren Ecken begrenzt, eine On-Top-Corner-Maske (`Rectangle - RoundedRectangle`) ergänzt, eine explizite On-Top-Rahmenkontur als `Path` ergänzt, die linke Rail-Kante ohne eigene Außenlinie geführt (kein Doppelrahmen links) und zusätzlich per Win32-Window-Region (`SetWindowRgn`) die Fensterkontur selbst auf Rundung begrenzt (WPF-Typen für Geometriepunkte/-größen explizit qualifiziert, um Mehrdeutigkeiten mit `System.Drawing` zu vermeiden). - Sichtbarkeit des Main-Contents wiederhergestellt: Navigations-/Content-Host auf feste Breitenaufteilung (`75 + 425`) umgestellt, damit das Inhaltspanel nicht mehr durch einen Zero-Width-Viewport abgeschnitten wird. +- Rounded-Clipping nach manuellen Refreshes stabilisiert: Nach jedem `SetAppearance` werden Surface-Clip und Window-Region erneut angewendet (inklusive Render-Pass), damit Inhalte nach `Refresh` nicht mehr über die vier gerundeten Ecken hinausragen. ### Navigation und Interaktion - Navigation-Buttons neu ausgerichtet (horizontal/vertikal), Icons vergrößert und Zustände vereinheitlicht. diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 7e41f2e..76f5bee 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -581,6 +581,14 @@ namespace C4IT_CustomerPanel BtnInfo.Tag = MenuItems.Information; BtnCustomLink.Tag = MenuItems.CustomLink; } + + UpdateMainSurfaceClip(); + ApplyRoundedWindowRegion(); + Dispatcher.BeginInvoke(new Action(() => + { + UpdateMainSurfaceClip(); + ApplyRoundedWindowRegion(); + }), DispatcherPriority.Render); } private void UpdateNavigationHoverResource()