From 171dd853829be2f2078540040b881c565e2aff60 Mon Sep 17 00:00:00 2001 From: Gehongyan Date: Tue, 29 Apr 2025 22:14:45 +0800 Subject: [PATCH] Subscribe to SizeChangedEvent on template applied --- src/Ursa/Controls/Badge/Badge.cs | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/Ursa/Controls/Badge/Badge.cs b/src/Ursa/Controls/Badge/Badge.cs index 6f0dbce..dde129c 100644 --- a/src/Ursa/Controls/Badge/Badge.cs +++ b/src/Ursa/Controls/Badge/Badge.cs @@ -72,23 +72,9 @@ public class Badge : HeaderedContentControl { base.OnApplyTemplate(e); _badgeContainer = e.NameScope.Find(PART_BadgeContainer); + _badgeContainer?.AddHandler(SizeChangedEvent, (_, _) => UpdateBadgePosition()); } - protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e) - { - base.OnAttachedToVisualTree(e); - ApplyTemplate(); - _badgeContainer?.AddHandler(SizeChangedEvent, OnBadgeSizeChanged); - } - - protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e) - { - _badgeContainer?.RemoveHandler(SizeChangedEvent, OnBadgeSizeChanged); - base.OnDetachedFromVisualTree(e); - } - - private void OnBadgeSizeChanged(object? sender, SizeChangedEventArgs e) => UpdateBadgePosition(); - private void UpdateBadgePosition() { var vertical = CornerPosition is CornerPosition.BottomLeft or CornerPosition.BottomRight ? 1 : -1;