From 392f432a7bdd386678212fee63057e94830c3a53 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Mon, 12 Dec 2022 23:54:45 +0800 Subject: [PATCH 1/3] feat: add tab theme. encountered some issue with ContentPresenter text element style. --- src/Semi.Avalonia.Demo/MainWindow.axaml | 3 + .../Pages/TabControlDemo.axaml | 28 +++++++++ .../Pages/TabControlDemo.axaml.cs | 18 ++++++ src/Semi.Avalonia/Controls/TabItem.axaml | 57 ++++++++++--------- src/Semi.Avalonia/Themes/Light/Light.axaml | 2 + src/Semi.Avalonia/Themes/Light/TabItem.axaml | 14 +++++ 6 files changed, 96 insertions(+), 26 deletions(-) create mode 100644 src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml create mode 100644 src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml.cs diff --git a/src/Semi.Avalonia.Demo/MainWindow.axaml b/src/Semi.Avalonia.Demo/MainWindow.axaml index ba4ea16..eed45f8 100644 --- a/src/Semi.Avalonia.Demo/MainWindow.axaml +++ b/src/Semi.Avalonia.Demo/MainWindow.axaml @@ -23,5 +23,8 @@ + + + diff --git a/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml b/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml new file mode 100644 index 0000000..287b5d0 --- /dev/null +++ b/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml.cs b/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml.cs new file mode 100644 index 0000000..3fbb803 --- /dev/null +++ b/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml.cs @@ -0,0 +1,18 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace Semi.Avalonia.Demo.Pages; + +public partial class TabControlDemo : UserControl +{ + public TabControlDemo() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} \ No newline at end of file diff --git a/src/Semi.Avalonia/Controls/TabItem.axaml b/src/Semi.Avalonia/Controls/TabItem.axaml index 39da335..f48c44b 100644 --- a/src/Semi.Avalonia/Controls/TabItem.axaml +++ b/src/Semi.Avalonia/Controls/TabItem.axaml @@ -1,16 +1,22 @@ + + + + + + + + - - - - - - - - - - + + + + + + + + - + + FontWeight="{TemplateBinding FontWeight}" + TextElement.FontSize="30" /> - + @@ -41,9 +47,9 @@ + @@ -80,29 +86,27 @@ + diff --git a/src/Semi.Avalonia/Themes/Light/Light.axaml b/src/Semi.Avalonia/Themes/Light/Light.axaml index 3b32fa9..7352bc2 100644 --- a/src/Semi.Avalonia/Themes/Light/Light.axaml +++ b/src/Semi.Avalonia/Themes/Light/Light.axaml @@ -7,6 +7,8 @@ + + diff --git a/src/Semi.Avalonia/Themes/Light/TabItem.axaml b/src/Semi.Avalonia/Themes/Light/TabItem.axaml index 9017e8d..12369ed 100644 --- a/src/Semi.Avalonia/Themes/Light/TabItem.axaml +++ b/src/Semi.Avalonia/Themes/Light/TabItem.axaml @@ -1,3 +1,17 @@ + + + + + + + + + + + + + + From 6b2fd3caae6e5d46b7a64d94200d5d82957de67e Mon Sep 17 00:00:00 2001 From: rabbitism Date: Tue, 13 Dec 2022 00:30:05 +0800 Subject: [PATCH 2/3] feat: update style to make it feels a bit better. --- .../Pages/TabControlDemo.axaml | 48 ++++++++------- src/Semi.Avalonia/Controls/TabControl.axaml | 60 +++++++++++++------ src/Semi.Avalonia/Controls/TabItem.axaml | 30 +++++++--- 3 files changed, 93 insertions(+), 45 deletions(-) diff --git a/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml b/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml index 287b5d0..3f479d0 100644 --- a/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml +++ b/src/Semi.Avalonia.Demo/Pages/TabControlDemo.axaml @@ -4,25 +4,33 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="450" d:DesignWidth="800" mc:Ignorable="d"> - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Controls/TabControl.axaml b/src/Semi.Avalonia/Controls/TabControl.axaml index 11b1caa..55cd6d9 100644 --- a/src/Semi.Avalonia/Controls/TabControl.axaml +++ b/src/Semi.Avalonia/Controls/TabControl.axaml @@ -1,32 +1,34 @@ - + - + + CornerRadius="{TemplateBinding CornerRadius}"> - + + + + + Margin="{TemplateBinding Padding}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + Content="{TemplateBinding SelectedContent}" + ContentTemplate="{TemplateBinding SelectedContentTemplate}" /> @@ -38,8 +40,30 @@ - + + + + diff --git a/src/Semi.Avalonia/Controls/TabItem.axaml b/src/Semi.Avalonia/Controls/TabItem.axaml index f48c44b..99d584b 100644 --- a/src/Semi.Avalonia/Controls/TabItem.axaml +++ b/src/Semi.Avalonia/Controls/TabItem.axaml @@ -16,17 +16,17 @@ - + - + - + @@ -50,13 +50,16 @@ + + @@ -87,7 +90,7 @@ @@ -97,11 +100,24 @@ + + + + + + diff --git a/src/Semi.Avalonia/Controls/TabItem.axaml b/src/Semi.Avalonia/Controls/TabItem.axaml index 99d584b..723c6e2 100644 --- a/src/Semi.Avalonia/Controls/TabItem.axaml +++ b/src/Semi.Avalonia/Controls/TabItem.axaml @@ -11,8 +11,8 @@ - + @@ -88,6 +88,29 @@ + + + + + + + - - - - - -