Harden rounded clip timing and pixel alignment for all corners

This commit is contained in:
Meik
2026-03-05 15:37:28 +01:00
parent c59ab2c237
commit 9887c51768
3 changed files with 13 additions and 1 deletions

View File

@@ -8,6 +8,7 @@
- Außenrahmen der Haupt-GUI als durchgehender Outline-Rahmen umgesetzt, damit die Kontur auch über die Rundungen konsistent sichtbar bleibt.
- Eckradius von WindowChrome und Außenrahmen auf das Inhalts-Panel abgestimmt, damit die Rundungen einheitlich wirken.
- Hauptfläche mit explizitem Rounded-Clip (inset-korrigiert) versehen, damit Inhalte an allen vier Ecken innerhalb des Außenrahmens bleiben.
- Initialisierung des Rounded-Clips auf den finalen Layout-Zeitpunkt erweitert (Loaded/Render), damit die Rundungsbegrenzung stabil auf allen Ecken greift.
### Navigation und Interaktion
- Navigation-Buttons neu ausgerichtet (horizontal/vertikal), Icons vergrößert und Zustände vereinheitlicht.

View File

@@ -358,6 +358,7 @@
CornerRadius="20"
BorderThickness="0"
Background="{DynamicResource backgroundColor}"
SnapsToDevicePixels="True"
ClipToBounds="True">
<Grid>
<DockPanel Width="{Binding ActualWidth, ElementName=Window, Mode=OneWay}"

View File

@@ -74,6 +74,7 @@ namespace C4IT_CustomerPanel
private TimeSpan _lastAdHocInterval;
private TimeSpan _lastRegularInterval;
private bool _allowApplicationShutdown = false;
private bool _mainSurfaceClipInitialized = false;
internal DateTime lastUpdate;
//private Dictionary<announcementType, List<Guid>> announcementIDCollection = new Dictionary<announcementType, List<Guid>>();
@@ -232,6 +233,13 @@ namespace C4IT_CustomerPanel
private void Window_Loaded(object sender, RoutedEventArgs e)
{
ComputerInfoCtrl.FillMainInfoGrid();
UpdateMainSurfaceClip();
if (!_mainSurfaceClipInitialized)
{
Dispatcher.BeginInvoke(new Action(UpdateMainSurfaceClip), DispatcherPriority.Loaded);
Dispatcher.BeginInvoke(new Action(UpdateMainSurfaceClip), DispatcherPriority.Render);
}
NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(AddressChangedCallback);
}
@@ -2173,7 +2181,7 @@ namespace C4IT_CustomerPanel
return;
const double outerRadius = 20d;
const double clipInset = 1d;
const double clipInset = 0.5d;
double clipWidth = Math.Max(0d, width - (clipInset * 2d));
double clipHeight = Math.Max(0d, height - (clipInset * 2d));
double clipRadius = Math.Max(0d, outerRadius - clipInset);
@@ -2182,6 +2190,8 @@ namespace C4IT_CustomerPanel
new Rect(clipInset, clipInset, clipWidth, clipHeight),
clipRadius,
clipRadius);
_mainSurfaceClipInitialized = true;
}
}