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;