From c48d96e40f1b98479eb08913274a13c604a70c23 Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Wed, 1 Apr 2026 23:01:45 +0800
Subject: [PATCH] Sync Avalonia 12.0.0-rc2 changes (#786)
* chore: AppBar -> CommanrBar.
* feat: Add keyboard navigation for overflow CommandBar popup.
* chore: Style -> Theme in PipsPager.
* chore: add Header/Footer templates to DrawerPage.
* feaa: hide caption buttons when the platform does not support the action.
* feat: Touch Improvements to TextBox.
* chore: remove Opacity from PART_Placeholder.
* feat: enable access key recognition for GroupBox.
* feat: limit label text to a single line in CommandBar.
---
.../Pages/CommandBarDemo.axaml | 34 ++---
src/Semi.Avalonia/Controls/CommandBar.axaml | 120 +++++++++---------
src/Semi.Avalonia/Controls/DrawerPage.axaml | 6 +-
.../Controls/HeaderedContentControl.axaml | 8 ++
.../Controls/MenuFlyoutPresenter.axaml | 13 ++
src/Semi.Avalonia/Controls/PipsPager.axaml | 8 +-
src/Semi.Avalonia/Controls/TextBox.axaml | 35 ++++-
.../Controls/WindowDrawnDecorations.axaml | 14 ++
.../Themes/Dark/CommandBar.axaml | 28 ++--
.../Themes/HighContrast/CommandBar.axaml | 28 ++--
.../Themes/Light/CommandBar.axaml | 28 ++--
.../Themes/Shared/CommandBar.axaml | 32 ++---
src/Semi.Avalonia/Themes/Shared/Flyout.axaml | 1 +
13 files changed, 213 insertions(+), 142 deletions(-)
diff --git a/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml
index 831543a..bf9359e 100644
--- a/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/CommandBarDemo.axaml
@@ -58,18 +58,18 @@
IsOpen="{Binding #isop.IsChecked}"
IsSticky="{Binding #isst.IsChecked}"
Width="{Binding #ws.Value}">
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -79,12 +79,12 @@
-
-
-
+
+
+
-
-
+
+
diff --git a/src/Semi.Avalonia/Controls/CommandBar.axaml b/src/Semi.Avalonia/Controls/CommandBar.axaml
index e4c6950..47649c5 100644
--- a/src/Semi.Avalonia/Controls/CommandBar.axaml
+++ b/src/Semi.Avalonia/Controls/CommandBar.axaml
@@ -28,24 +28,24 @@
DefaultLabelPosition="{Binding #lc.SelectedValue}"
IsDynamicOverflowEnabled="{Binding #idfe.IsChecked}"
Width="{Binding #ws.Value}">
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
+ x:Key="{x:Type CommandBarButton}"
+ BasedOn="{StaticResource CommandBarButtonBaseTheme}"
+ TargetType="CommandBarButton">
@@ -135,7 +136,7 @@
@@ -144,7 +145,7 @@
@@ -160,8 +161,8 @@
@@ -174,11 +175,11 @@
-
+
+ x:Key="{x:Type CommandBarToggleButton}"
+ BasedOn="{StaticResource CommandBarButtonBaseTheme}"
+ TargetType="CommandBarToggleButton">
@@ -215,7 +216,7 @@
@@ -224,7 +225,7 @@
@@ -240,8 +241,8 @@
@@ -254,14 +255,14 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
@@ -299,9 +300,9 @@
MinHeight="{TemplateBinding MinHeight}"
Padding="{TemplateBinding Padding}">
-
+
-
diff --git a/src/Semi.Avalonia/Controls/DrawerPage.axaml b/src/Semi.Avalonia/Controls/DrawerPage.axaml
index 83ab402..e56179b 100644
--- a/src/Semi.Avalonia/Controls/DrawerPage.axaml
+++ b/src/Semi.Avalonia/Controls/DrawerPage.axaml
@@ -71,14 +71,16 @@
Name="PART_DrawerHeader"
DockPanel.Dock="Top"
Background="{TemplateBinding DrawerHeaderBackground}"
- Content="{TemplateBinding DrawerHeader}" />
+ Content="{TemplateBinding DrawerHeader}"
+ ContentTemplate="{TemplateBinding DrawerHeaderTemplate}" />
+ Content="{TemplateBinding DrawerFooter}"
+ ContentTemplate="{TemplateBinding DrawerFooterTemplate}" />
+
+
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Controls/MenuFlyoutPresenter.axaml b/src/Semi.Avalonia/Controls/MenuFlyoutPresenter.axaml
index b5f8dfd..7dd0d42 100644
--- a/src/Semi.Avalonia/Controls/MenuFlyoutPresenter.axaml
+++ b/src/Semi.Avalonia/Controls/MenuFlyoutPresenter.axaml
@@ -54,4 +54,17 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Controls/PipsPager.axaml b/src/Semi.Avalonia/Controls/PipsPager.axaml
index 54d0d38..ab69767 100644
--- a/src/Semi.Avalonia/Controls/PipsPager.axaml
+++ b/src/Semi.Avalonia/Controls/PipsPager.axaml
@@ -54,8 +54,8 @@
-
-
+
+
@@ -89,7 +89,7 @@
diff --git a/src/Semi.Avalonia/Controls/TextBox.axaml b/src/Semi.Avalonia/Controls/TextBox.axaml
index 8c12086..8999bac 100644
--- a/src/Semi.Avalonia/Controls/TextBox.axaml
+++ b/src/Semi.Avalonia/Controls/TextBox.axaml
@@ -22,6 +22,27 @@
IsEnabled="{Binding $parent[TextBox].CanPaste}" />
+
+
+
+
+
+
@@ -133,6 +154,10 @@
+
+
+
+
diff --git a/src/Semi.Avalonia/Controls/WindowDrawnDecorations.axaml b/src/Semi.Avalonia/Controls/WindowDrawnDecorations.axaml
index 637794f..b3d090f 100644
--- a/src/Semi.Avalonia/Controls/WindowDrawnDecorations.axaml
+++ b/src/Semi.Avalonia/Controls/WindowDrawnDecorations.axaml
@@ -187,6 +187,20 @@
+
+
+
+
+
+