diff --git a/demo/Ursa.Demo/Pages/BadgeDemo.axaml b/demo/Ursa.Demo/Pages/BadgeDemo.axaml
index f633f70..5a550b8 100644
--- a/demo/Ursa.Demo/Pages/BadgeDemo.axaml
+++ b/demo/Ursa.Demo/Pages/BadgeDemo.axaml
@@ -5,6 +5,9 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:u="https://irihi.tech/ursa"
+ xmlns:viewModels="clr-namespace:Ursa.Demo.ViewModels"
+ xmlns:common="clr-namespace:Ursa.Common;assembly=Ursa"
+ x:DataType="viewModels:BadgeDemoViewModel"
d:DesignHeight="850"
d:DesignWidth="850"
mc:Ignorable="d">
@@ -19,6 +22,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/demo/Ursa.Demo/Pages/BadgeDemo.axaml.cs b/demo/Ursa.Demo/Pages/BadgeDemo.axaml.cs
index 7caa06c..8eb1656 100644
--- a/demo/Ursa.Demo/Pages/BadgeDemo.axaml.cs
+++ b/demo/Ursa.Demo/Pages/BadgeDemo.axaml.cs
@@ -9,9 +9,4 @@ public partial class BadgeDemo : UserControl
{
InitializeComponent();
}
-
- private void InitializeComponent()
- {
- AvaloniaXamlLoader.Load(this);
- }
}
\ No newline at end of file
diff --git a/demo/Ursa.Demo/ViewModels/BadgeDemoViewModel.cs b/demo/Ursa.Demo/ViewModels/BadgeDemoViewModel.cs
index afd9963..fa233d3 100644
--- a/demo/Ursa.Demo/ViewModels/BadgeDemoViewModel.cs
+++ b/demo/Ursa.Demo/ViewModels/BadgeDemoViewModel.cs
@@ -1,6 +1,28 @@
+using System;
+using CommunityToolkit.Mvvm.ComponentModel;
+using CommunityToolkit.Mvvm.Input;
+
namespace Ursa.Demo.ViewModels;
-public class BadgeDemoViewModel: ViewModelBase
+public partial class BadgeDemoViewModel: ViewModelBase
{
-
+ [ObservableProperty] private string? _text = null;
+
+ public BadgeDemoViewModel()
+ {
+
+ }
+
+ [RelayCommand]
+ public void ChangeText()
+ {
+ if (Text == null)
+ {
+ Text = DateTime.Now.ToShortDateString();
+ }
+ else
+ {
+ Text = null;
+ }
+ }
}
\ No newline at end of file
diff --git a/src/Ursa/Controls/Badge.cs b/src/Ursa/Controls/Badge/Badge.cs
similarity index 94%
rename from src/Ursa/Controls/Badge.cs
rename to src/Ursa/Controls/Badge/Badge.cs
index 440781d..c7f1eea 100644
--- a/src/Ursa/Controls/Badge.cs
+++ b/src/Ursa/Controls/Badge/Badge.cs
@@ -66,6 +66,7 @@ public class Badge : HeaderedContentControl
static Badge()
{
HeaderProperty.Changed.AddClassHandler((badge, _) => badge.UpdateBadgePosition());
+ CornerPositionProperty.Changed.AddClassHandler((badge, _) => badge.UpdateBadgePosition());
DotProperty.Changed.AddClassHandler((badge, _) => badge.UpdateBadgePosition());
}
@@ -83,8 +84,9 @@ public class Badge : HeaderedContentControl
protected override Size ArrangeOverride(Size finalSize)
{
+ var size = base.ArrangeOverride(finalSize);
UpdateBadgePosition();
- return base.ArrangeOverride(finalSize);
+ return size;
}
private void UpdateBadgePosition()