From 3b4443cd54fac2e1ca7b6be0b8cf9e4df992cb54 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Tue, 7 Apr 2026 23:53:11 +0800 Subject: [PATCH] Fix CarouselPage ControlTemplate and sync NavigationPage template (#791) * fix: specify TargetType in ControlTemplate for CarouselPage and remove redundant ItemsSource bindings in TabbedPage. * feat: sync ContentPage with Avalonia Fluent version. * fix: sync upstream NavigationPage template. * feat: adjust NavigationPage bar height and add large style support * feat: add ToggleSwitch for large style support in NavigationPageDemo --------- Co-authored-by: Dong Bin --- .../Pages/NavigationPageDemo.axaml | 5 +- src/Semi.Avalonia/Controls/CarouselPage.axaml | 2 +- src/Semi.Avalonia/Controls/ContentPage.axaml | 31 ++-- .../Controls/NavigationPage.axaml | 173 ++++++++++-------- src/Semi.Avalonia/Controls/TabbedPage.axaml | 9 +- .../Themes/Dark/NavigationPage.axaml | 9 - .../Themes/HighContrast/NavigationPage.axaml | 9 - .../Themes/Light/NavigationPage.axaml | 11 +- .../Themes/Shared/NavigationPage.axaml | 3 +- 9 files changed, 127 insertions(+), 125 deletions(-) diff --git a/demo/Semi.Avalonia.Demo/Pages/NavigationPageDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/NavigationPageDemo.axaml index 055e20a..d965a25 100644 --- a/demo/Semi.Avalonia.Demo/Pages/NavigationPageDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/NavigationPageDemo.axaml @@ -48,6 +48,7 @@ Text="Current: Home" Opacity="0.7" TextWrapping="Wrap" /> + @@ -58,7 +59,9 @@ BorderThickness="1" CornerRadius="6" ClipToBounds="True"> - + diff --git a/src/Semi.Avalonia/Controls/CarouselPage.axaml b/src/Semi.Avalonia/Controls/CarouselPage.axaml index 1e6da26..778aaac 100644 --- a/src/Semi.Avalonia/Controls/CarouselPage.axaml +++ b/src/Semi.Avalonia/Controls/CarouselPage.axaml @@ -4,7 +4,7 @@ - + - - - + - + DockPanel.Dock="Top" /> - + DockPanel.Dock="Bottom" /> + + - + \ No newline at end of file diff --git a/src/Semi.Avalonia/Controls/NavigationPage.axaml b/src/Semi.Avalonia/Controls/NavigationPage.axaml index 26ef8d1..2658f14 100644 --- a/src/Semi.Avalonia/Controls/NavigationPage.axaml +++ b/src/Semi.Avalonia/Controls/NavigationPage.axaml @@ -6,89 +6,118 @@ - - + - - - - - - - - - - - - - - - - - - - + + - - - - - - + Name="PART_NavBarSpacer" + Height="{TemplateBinding EffectiveBarHeight}" + IsVisible="False" + DockPanel.Dock="Top" /> + + + + + + - + + + + + + + + + + + + + + + + - + Name="PART_ModalBackPresenter" + ZIndex="99" + IsVisible="False" + Background="{TemplateBinding Background}" /> + + - - - - + + + + \ No newline at end of file diff --git a/src/Semi.Avalonia/Controls/TabbedPage.axaml b/src/Semi.Avalonia/Controls/TabbedPage.axaml index 64b68b7..a3a69f9 100644 --- a/src/Semi.Avalonia/Controls/TabbedPage.axaml +++ b/src/Semi.Avalonia/Controls/TabbedPage.axaml @@ -11,8 +11,7 @@ + Theme="{StaticResource LineTabControl}" /> @@ -22,8 +21,7 @@ + Theme="{StaticResource CardTabControl}" /> @@ -33,8 +31,7 @@ + Theme="{StaticResource ButtonTabControl}" /> diff --git a/src/Semi.Avalonia/Themes/Dark/NavigationPage.axaml b/src/Semi.Avalonia/Themes/Dark/NavigationPage.axaml index 3b68d1b..e21ef94 100644 --- a/src/Semi.Avalonia/Themes/Dark/NavigationPage.axaml +++ b/src/Semi.Avalonia/Themes/Dark/NavigationPage.axaml @@ -1,14 +1,5 @@ - - - - - - - - - diff --git a/src/Semi.Avalonia/Themes/HighContrast/NavigationPage.axaml b/src/Semi.Avalonia/Themes/HighContrast/NavigationPage.axaml index c80946b..a079740 100644 --- a/src/Semi.Avalonia/Themes/HighContrast/NavigationPage.axaml +++ b/src/Semi.Avalonia/Themes/HighContrast/NavigationPage.axaml @@ -1,14 +1,5 @@ - - - - - - - - - diff --git a/src/Semi.Avalonia/Themes/Light/NavigationPage.axaml b/src/Semi.Avalonia/Themes/Light/NavigationPage.axaml index 3b68d1b..0dc6e95 100644 --- a/src/Semi.Avalonia/Themes/Light/NavigationPage.axaml +++ b/src/Semi.Avalonia/Themes/Light/NavigationPage.axaml @@ -1,14 +1,5 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/src/Semi.Avalonia/Themes/Shared/NavigationPage.axaml b/src/Semi.Avalonia/Themes/Shared/NavigationPage.axaml index 7275100..f8cb8a3 100644 --- a/src/Semi.Avalonia/Themes/Shared/NavigationPage.axaml +++ b/src/Semi.Avalonia/Themes/Shared/NavigationPage.axaml @@ -1,6 +1,7 @@ - 48 + 32 + 48 4 0 0 0 0 1