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 @@ +