From dd5f5182fa6aea12c759d20b7d693c5e7199b59d Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Thu, 12 Mar 2026 15:56:39 +0800 Subject: [PATCH] fix CommandBar issues (#763) * feat: extract shared theme from AppBarButton & AppBarToggleButton. * feat: enhance CommandBar with dynamic overflow and adjustable width. * fix: fix Width in IsCompact mode. --- .../Pages/CommandBarDemo.axaml | 30 +- src/Semi.Avalonia/Controls/CommandBar.axaml | 351 ++++++++---------- .../Themes/Shared/CommandBar.axaml | 9 +- 3 files changed, 168 insertions(+), 222 deletions(-) diff --git a/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml index d67d1b6..5ded044 100644 --- a/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml @@ -12,8 +12,8 @@ - - + + + + - + @@ -59,25 +64,6 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Semi.Avalonia/Controls/CommandBar.axaml b/src/Semi.Avalonia/Controls/CommandBar.axaml index 4f15503..bb216be 100644 --- a/src/Semi.Avalonia/Controls/CommandBar.axaml +++ b/src/Semi.Avalonia/Controls/CommandBar.axaml @@ -1,36 +1,53 @@ + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:collections="clr-namespace:Avalonia.Collections;assembly=Avalonia.Base"> - - - + + + + + + + Bottom + Collapsed + Right + + + + + + + + + - + + + + + + + + - + - - - - - - - - - - - - - + - + + Spacing="{DynamicResource AppBarButtonPanelSpacing}" + HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalAlignment="{TemplateBinding VerticalContentAlignment}"> + Foreground="{TemplateBinding Foreground}"> - + + + + + + + + + + + + + - - - + - + - - - - - + + - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + - - - - - - - - - - - - - - + + - - - - - + + - + - - - + + @@ -325,18 +295,12 @@ - + Icon="{DynamicResource CommandBarOverflowButtonGlyph}" + IsCompact="True" + IsVisible="{TemplateBinding IsOverflowButtonVisible}" /> + CornerRadius="{DynamicResource CommandBarOverflowCornerRadius}"> + - + @@ -392,15 +360,4 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/Semi.Avalonia/Themes/Shared/CommandBar.axaml b/src/Semi.Avalonia/Themes/Shared/CommandBar.axaml index 81f4f45..81ef40d 100644 --- a/src/Semi.Avalonia/Themes/Shared/CommandBar.axaml +++ b/src/Semi.Avalonia/Themes/Shared/CommandBar.axaml @@ -1,10 +1,10 @@ - 68 + 64 40 40 - 20 8 4 + 4 36 @@ -22,8 +22,11 @@ + 16 + 400 + 600 0 4 - 160 + 8