diff --git a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
index 6644a740..09954a0f 100644
--- a/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
+++ b/src/Avalonia/HandyControlDemo_Avalonia/Data/DemoInfo.json
@@ -56,7 +56,8 @@
[ "Rate", "RateDemo", "Brush.Favorite", "", "Feedback" ],
[ "Loading", "LoadingDemo", "Brush.Loading", "", "Feedback" ],
[ "Tag", "TagDemo", "Brush.Tag", "", "DataDisplay" ],
- [ "Badge", "BadgeDemo", "Brush.CheckDot", "", "DataDisplay" ]
+ [ "Badge", "BadgeDemo", "Brush.CheckDot", "", "DataDisplay" ],
+ [ "Shield", "ShieldDemo", "Brush.SplitKeyValuePair", "", "DataDisplay" ]
]
}
]
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/BadgeDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/BadgeDemo.axaml
index f690f978..df1beeb5 100644
--- a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/BadgeDemo.axaml
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/BadgeDemo.axaml
@@ -1,9 +1,10 @@
-
+
-
+
-
+
+ Content="{x:Static langs:Lang.Click2Count}" />
-
+
-
+
-
+
-
+
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/ShieldDemo.axaml b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/ShieldDemo.axaml
new file mode 100644
index 00000000..85b97c88
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/ShieldDemo.axaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/ShieldDemo.axaml.cs b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/ShieldDemo.axaml.cs
new file mode 100644
index 00000000..5ab8aed4
--- /dev/null
+++ b/src/Avalonia/HandyControlDemo_Avalonia/UserControl/Controls/ShieldDemo.axaml.cs
@@ -0,0 +1,9 @@
+namespace HandyControlDemo.UserControl;
+
+public partial class ShieldDemo : Avalonia.Controls.UserControl
+{
+ public ShieldDemo()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/src/Avalonia/HandyControl_Avalonia/Controls/Other/Shield.cs b/src/Avalonia/HandyControl_Avalonia/Controls/Other/Shield.cs
new file mode 100644
index 00000000..9f3ac7b5
--- /dev/null
+++ b/src/Avalonia/HandyControl_Avalonia/Controls/Other/Shield.cs
@@ -0,0 +1,40 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Media;
+using Avalonia.Metadata;
+
+namespace HandyControl.Controls;
+
+///
+/// 徽章
+///
+public class Shield : Button
+{
+ public static readonly StyledProperty SubjectProperty =
+ AvaloniaProperty.Register(nameof(Subject));
+
+ public string? Subject
+ {
+ get => GetValue(SubjectProperty);
+ set => SetValue(SubjectProperty, value);
+ }
+
+ public static readonly StyledProperty