diff --git a/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml
new file mode 100644
index 0000000..559a433
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml.cs
new file mode 100644
index 0000000..38f6b0f
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml.cs
@@ -0,0 +1,11 @@
+using Avalonia.Controls;
+
+namespace Semi.Avalonia.Demo.Pages;
+
+public partial class CommandBarDemo : UserControl
+{
+ public CommandBarDemo()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/demo/Semi.Avalonia.Demo/Views/MainView.axaml b/demo/Semi.Avalonia.Demo/Views/MainView.axaml
index 76bc227..f5e24df 100644
--- a/demo/Semi.Avalonia.Demo/Views/MainView.axaml
+++ b/demo/Semi.Avalonia.Demo/Views/MainView.axaml
@@ -269,6 +269,9 @@
+
+
+
diff --git a/src/Semi.Avalonia/Controls/CommandBar.axaml b/src/Semi.Avalonia/Controls/CommandBar.axaml
new file mode 100644
index 0000000..817497e
--- /dev/null
+++ b/src/Semi.Avalonia/Controls/CommandBar.axaml
@@ -0,0 +1,406 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia/Controls/_index.axaml b/src/Semi.Avalonia/Controls/_index.axaml
index 9c632e6..bdce23c 100644
--- a/src/Semi.Avalonia/Controls/_index.axaml
+++ b/src/Semi.Avalonia/Controls/_index.axaml
@@ -12,6 +12,7 @@
+
diff --git a/src/Semi.Avalonia/Themes/Dark/CommandBar.axaml b/src/Semi.Avalonia/Themes/Dark/CommandBar.axaml
new file mode 100644
index 0000000..ed5a4d9
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Dark/CommandBar.axaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia/Themes/Dark/_index.axaml b/src/Semi.Avalonia/Themes/Dark/_index.axaml
index 3290cda..1c07720 100644
--- a/src/Semi.Avalonia/Themes/Dark/_index.axaml
+++ b/src/Semi.Avalonia/Themes/Dark/_index.axaml
@@ -11,6 +11,7 @@
+
diff --git a/src/Semi.Avalonia/Themes/HighContrast/CommandBar.axaml b/src/Semi.Avalonia/Themes/HighContrast/CommandBar.axaml
new file mode 100644
index 0000000..56696d9
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/HighContrast/CommandBar.axaml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia/Themes/HighContrast/_index.axaml b/src/Semi.Avalonia/Themes/HighContrast/_index.axaml
index 3290cda..1c07720 100644
--- a/src/Semi.Avalonia/Themes/HighContrast/_index.axaml
+++ b/src/Semi.Avalonia/Themes/HighContrast/_index.axaml
@@ -11,6 +11,7 @@
+
diff --git a/src/Semi.Avalonia/Themes/Light/CommandBar.axaml b/src/Semi.Avalonia/Themes/Light/CommandBar.axaml
new file mode 100644
index 0000000..ed5a4d9
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Light/CommandBar.axaml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia/Themes/Light/_index.axaml b/src/Semi.Avalonia/Themes/Light/_index.axaml
index 3290cda..1c07720 100644
--- a/src/Semi.Avalonia/Themes/Light/_index.axaml
+++ b/src/Semi.Avalonia/Themes/Light/_index.axaml
@@ -11,6 +11,7 @@
+
diff --git a/src/Semi.Avalonia/Themes/Shared/CommandBar.axaml b/src/Semi.Avalonia/Themes/Shared/CommandBar.axaml
new file mode 100644
index 0000000..81f4f45
--- /dev/null
+++ b/src/Semi.Avalonia/Themes/Shared/CommandBar.axaml
@@ -0,0 +1,29 @@
+
+
+ 68
+ 40
+ 40
+ 20
+ 8 4
+
+
+ 36
+ 12 6
+
+ 1
+ 24
+ 8 4
+ 1
+ 4 4
+
+ 48
+ 4 0
+
+
+
+
+ 0 4
+ 160
+
+
+
diff --git a/src/Semi.Avalonia/Themes/Shared/_index.axaml b/src/Semi.Avalonia/Themes/Shared/_index.axaml
index 3290cda..1c07720 100644
--- a/src/Semi.Avalonia/Themes/Shared/_index.axaml
+++ b/src/Semi.Avalonia/Themes/Shared/_index.axaml
@@ -11,6 +11,7 @@
+