From 4ddcca529cfdcfb19944117a9bae18c80960cefc Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 9 Mar 2026 07:31:09 +0000
Subject: [PATCH] feat: add Semi theme styling for CommandBar, AppBarButton,
AppBarToggleButton, AppBarSeparator
Co-authored-by: zdpcdt <54255897+zdpcdt@users.noreply.github.com>
---
.../Pages/CommandBarDemo.axaml | 152 +++++++
.../Pages/CommandBarDemo.axaml.cs | 11 +
demo/Semi.Avalonia.Demo/Views/MainView.axaml | 3 +
src/Semi.Avalonia/Controls/CommandBar.axaml | 406 ++++++++++++++++++
src/Semi.Avalonia/Controls/_index.axaml | 1 +
.../Themes/Dark/CommandBar.axaml | 22 +
src/Semi.Avalonia/Themes/Dark/_index.axaml | 1 +
.../Themes/HighContrast/CommandBar.axaml | 21 +
.../Themes/HighContrast/_index.axaml | 1 +
.../Themes/Light/CommandBar.axaml | 22 +
src/Semi.Avalonia/Themes/Light/_index.axaml | 1 +
.../Themes/Shared/CommandBar.axaml | 29 ++
src/Semi.Avalonia/Themes/Shared/_index.axaml | 1 +
13 files changed, 671 insertions(+)
create mode 100644 demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml
create mode 100644 demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml.cs
create mode 100644 src/Semi.Avalonia/Controls/CommandBar.axaml
create mode 100644 src/Semi.Avalonia/Themes/Dark/CommandBar.axaml
create mode 100644 src/Semi.Avalonia/Themes/HighContrast/CommandBar.axaml
create mode 100644 src/Semi.Avalonia/Themes/Light/CommandBar.axaml
create mode 100644 src/Semi.Avalonia/Themes/Shared/CommandBar.axaml
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 @@
+