From 021ca978659bbb83fac8e4fb719473237f8a6b62 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Sat, 9 Nov 2024 04:13:00 +0800 Subject: [PATCH 1/7] feat: redesign GroupBox theme for HeaderedContentControl. Header & Content are now invisible when set to null. SeparatorBorder is now influenced by BorderThickness. Background is no longer transparent. --- .../Pages/HeaderedContentControlDemo.axaml | 18 ++-- demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml | 80 +++++++++-------- .../Pages/SelectableTextBlock.axaml | 83 +++++++++--------- .../Pages/TextBlockDemo.axaml | 75 ++++++++-------- .../Controls/HeaderedContentControl.axaml | 86 ++++++++++++------- .../Themes/Dark/HeaderedContentControl.axaml | 4 +- .../HighContrast/HeaderedContentControl.axaml | 4 +- .../Themes/Light/HeaderedContentControl.axaml | 4 +- .../Shared/HeaderedContentControl.axaml | 6 +- 9 files changed, 200 insertions(+), 160 deletions(-) diff --git a/demo/Semi.Avalonia.Demo/Pages/HeaderedContentControlDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/HeaderedContentControlDemo.axaml index af62a80..b778b13 100644 --- a/demo/Semi.Avalonia.Demo/Pages/HeaderedContentControlDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/HeaderedContentControlDemo.axaml @@ -2,7 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" + mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="1450" x:Class="Semi.Avalonia.Demo.Pages.HeaderedContentControlDemo"> @@ -27,12 +27,18 @@ GroupBox Theme - Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统。设计系统包含设计语言以及一整套可复用的前端组件,帮助设计师与开发者更容易地打造高质量的、用户体验一致的、符合设计规范的 Web 应用。 + HorizontalAlignment="Left" + MaxWidth="360"> + + + + + + + + + diff --git a/demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml index 5b17250..250c794 100644 --- a/demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/LabelDemo.axaml @@ -4,7 +4,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - d:DesignHeight="450" + d:DesignHeight="800" d:DesignWidth="800" mc:Ignorable="d"> @@ -13,15 +13,13 @@ + - - - - Classes - - - Secondary - Tertiary - Quaternary - Success - Warning - Danger - Mark - Code - + RowDefinitions="*,*,*,*,*,*,*,*,*,*,*"> + Classes + - + Secondary + Tertiary + Quaternary + Success + Warning + Danger + Mark + Code + diff --git a/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml b/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml index e70aeee..c568f0c 100644 --- a/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml +++ b/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml @@ -1,7 +1,31 @@  + + + + + + + + + + + + + + + + @@ -12,31 +36,31 @@ CornerRadius="{TemplateBinding CornerRadius}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"> - + + FontStyle="{TemplateBinding FontStyle}" /> + FontStyle="{TemplateBinding FontStyle}" /> @@ -44,42 +68,46 @@ - - - + + + - - - - + BorderThickness="{TemplateBinding BorderThickness}" + CornerRadius="{TemplateBinding CornerRadius}"> + - + + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness, Converter={StaticResource SeparatorBorderMultiplier}}"> + + + + + + + + TextWrapping="Wrap" /> diff --git a/src/Semi.Avalonia/Themes/Dark/HeaderedContentControl.axaml b/src/Semi.Avalonia/Themes/Dark/HeaderedContentControl.axaml index c5804df..56bc792 100644 --- a/src/Semi.Avalonia/Themes/Dark/HeaderedContentControl.axaml +++ b/src/Semi.Avalonia/Themes/Dark/HeaderedContentControl.axaml @@ -1,4 +1,4 @@  - - + + \ No newline at end of file diff --git a/src/Semi.Avalonia/Themes/HighContrast/HeaderedContentControl.axaml b/src/Semi.Avalonia/Themes/HighContrast/HeaderedContentControl.axaml index 2d0c943..de0dd5e 100644 --- a/src/Semi.Avalonia/Themes/HighContrast/HeaderedContentControl.axaml +++ b/src/Semi.Avalonia/Themes/HighContrast/HeaderedContentControl.axaml @@ -1,4 +1,4 @@  - - + + \ No newline at end of file diff --git a/src/Semi.Avalonia/Themes/Light/HeaderedContentControl.axaml b/src/Semi.Avalonia/Themes/Light/HeaderedContentControl.axaml index ce87252..501435b 100644 --- a/src/Semi.Avalonia/Themes/Light/HeaderedContentControl.axaml +++ b/src/Semi.Avalonia/Themes/Light/HeaderedContentControl.axaml @@ -1,4 +1,4 @@  - - + + \ No newline at end of file diff --git a/src/Semi.Avalonia/Themes/Shared/HeaderedContentControl.axaml b/src/Semi.Avalonia/Themes/Shared/HeaderedContentControl.axaml index c6e24ac..24289d5 100644 --- a/src/Semi.Avalonia/Themes/Shared/HeaderedContentControl.axaml +++ b/src/Semi.Avalonia/Themes/Shared/HeaderedContentControl.axaml @@ -1,3 +1,7 @@  - 4 + 6 + 1 + 600 + 20 + 20 \ No newline at end of file From 90ba2616381380b80e075173f5933e2bfa417d38 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Sat, 9 Nov 2024 18:52:01 +0800 Subject: [PATCH 2/7] fix: fix SeparatorBorder RowDefinition in HeaderedContentControl. --- src/Semi.Avalonia/Controls/HeaderedContentControl.axaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml b/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml index c568f0c..19dad7c 100644 --- a/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml +++ b/src/Semi.Avalonia/Controls/HeaderedContentControl.axaml @@ -79,7 +79,7 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}"> - + Date: Tue, 12 Nov 2024 13:00:01 +0800 Subject: [PATCH 3/7] misc: Restore > to >. --- src/Semi.Avalonia/Controls/DatePicker.axaml | 2 +- src/Semi.Avalonia/Controls/ScrollViewer.axaml | 10 +++++----- src/Semi.Avalonia/Controls/TabControl.axaml | 4 ++-- src/Semi.Avalonia/Controls/TimePicker.axaml | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Semi.Avalonia/Controls/DatePicker.axaml b/src/Semi.Avalonia/Controls/DatePicker.axaml index 50595ee..689554a 100644 --- a/src/Semi.Avalonia/Controls/DatePicker.axaml +++ b/src/Semi.Avalonia/Controls/DatePicker.axaml @@ -26,7 +26,7 @@ - diff --git a/src/Semi.Avalonia/Controls/ScrollViewer.axaml b/src/Semi.Avalonia/Controls/ScrollViewer.axaml index e68d344..431a776 100644 --- a/src/Semi.Avalonia/Controls/ScrollViewer.axaml +++ b/src/Semi.Avalonia/Controls/ScrollViewer.axaml @@ -205,13 +205,13 @@ - - - @@ -346,11 +346,11 @@ - - diff --git a/src/Semi.Avalonia/Controls/TabControl.axaml b/src/Semi.Avalonia/Controls/TabControl.axaml index a408fd3..58b2589 100644 --- a/src/Semi.Avalonia/Controls/TabControl.axaml +++ b/src/Semi.Avalonia/Controls/TabControl.axaml @@ -32,10 +32,10 @@ - - From d3f297730b9a6f826ae110f8222776e08480657b Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Tue, 12 Nov 2024 16:46:07 +0800 Subject: [PATCH 4/7] feat: adjust ComboBox, ListBox, DatePicker & TimePicker item Padding. --- src/Semi.Avalonia/Controls/ComboBox.axaml | 6 ++---- src/Semi.Avalonia/Controls/DatePicker.axaml | 5 ++++- src/Semi.Avalonia/Controls/DateTimePickerShared.axaml | 4 ---- src/Semi.Avalonia/Controls/TimePicker.axaml | 4 +++- src/Semi.Avalonia/Themes/Shared/ComboBox.axaml | 2 +- src/Semi.Avalonia/Themes/Shared/DateTimePickerShared.axaml | 4 ++-- src/Semi.Avalonia/Themes/Shared/ListBox.axaml | 2 +- 7 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/Semi.Avalonia/Controls/ComboBox.axaml b/src/Semi.Avalonia/Controls/ComboBox.axaml index 6ddd0f3..2a8fc6e 100644 --- a/src/Semi.Avalonia/Controls/ComboBox.axaml +++ b/src/Semi.Avalonia/Controls/ComboBox.axaml @@ -66,8 +66,7 @@ VerticalAlignment="{TemplateBinding VerticalContentAlignment}" TextTrimming="CharacterEllipsis" Foreground="{TemplateBinding Foreground}" - IsVisible="{TemplateBinding SelectionBoxItem, - Converter={x:Static ObjectConverters.IsNull}}" + IsVisible="{TemplateBinding SelectionBoxItem,Converter={x:Static ObjectConverters.IsNull}}" Opacity="0.3" Text="{TemplateBinding PlaceholderText}" /> diff --git a/src/Semi.Avalonia/Controls/DatePicker.axaml b/src/Semi.Avalonia/Controls/DatePicker.axaml index 689554a..ec4716c 100644 --- a/src/Semi.Avalonia/Controls/DatePicker.axaml +++ b/src/Semi.Avalonia/Controls/DatePicker.axaml @@ -22,7 +22,8 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" BoxShadow="{DynamicResource DateTimePickerFlyoutBoxShadow}" - CornerRadius="{TemplateBinding CornerRadius}"> + CornerRadius="{TemplateBinding CornerRadius}" + ClipToBounds="True"> @@ -108,6 +109,7 @@ Data="{DynamicResource DateTimePickerDismissGlyph}" /> - diff --git a/src/Semi.Avalonia/Controls/TimePicker.axaml b/src/Semi.Avalonia/Controls/TimePicker.axaml index 00896f6..bc95b47 100644 --- a/src/Semi.Avalonia/Controls/TimePicker.axaml +++ b/src/Semi.Avalonia/Controls/TimePicker.axaml @@ -22,7 +22,8 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" BoxShadow="{DynamicResource DateTimePickerFlyoutBoxShadow}" - CornerRadius="{TemplateBinding CornerRadius}"> + CornerRadius="{TemplateBinding CornerRadius}" + ClipToBounds="True"> @@ -130,6 +131,7 @@ Data="{DynamicResource DateTimePickerDismissGlyph}" /> 3 - 8 4 + 12 8 8 0 1 diff --git a/src/Semi.Avalonia/Themes/Shared/DateTimePickerShared.axaml b/src/Semi.Avalonia/Themes/Shared/DateTimePickerShared.axaml index 532a50c..80c132d 100644 --- a/src/Semi.Avalonia/Themes/Shared/DateTimePickerShared.axaml +++ b/src/Semi.Avalonia/Themes/Shared/DateTimePickerShared.axaml @@ -4,10 +4,10 @@ M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z M17.6568 19.7782C18.2426 20.3639 19.1924 20.3639 19.7782 19.7782C20.3639 19.1924 20.3639 18.2426 19.7782 17.6568L14.1213 12L19.7782 6.34313C20.3639 5.75734 20.3639 4.8076 19.7782 4.22181C19.1924 3.63602 18.2426 3.63602 17.6568 4.22181L12 9.87866L6.34313 4.22181C5.75734 3.63602 4.8076 3.63602 4.22181 4.22181C3.63602 4.8076 3.63602 5.75734 4.22181 6.34313L9.87866 12L4.22181 17.6568C3.63602 18.2426 3.63602 19.1924 4.22181 19.7782C4.8076 20.3639 5.75734 20.3639 6.34313 19.7782L12 14.1213L17.6568 19.7782Z - 30 + 36 - 16 0 + 0 8 24 diff --git a/src/Semi.Avalonia/Themes/Shared/ListBox.axaml b/src/Semi.Avalonia/Themes/Shared/ListBox.axaml index a402804..371349f 100644 --- a/src/Semi.Avalonia/Themes/Shared/ListBox.axaml +++ b/src/Semi.Avalonia/Themes/Shared/ListBox.axaml @@ -1,6 +1,6 @@ - 8 4 + 12 8 3 \ No newline at end of file From 3ce4067c3f2e7165c63391f240e38e906412c237 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Tue, 12 Nov 2024 17:10:35 +0800 Subject: [PATCH 5/7] feat: extract ComboBox resources. --- src/Semi.Avalonia/Controls/ComboBox.axaml | 26 +++++++------------ .../Themes/Shared/ComboBox.axaml | 8 ++++++ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/Semi.Avalonia/Controls/ComboBox.axaml b/src/Semi.Avalonia/Controls/ComboBox.axaml index 2a8fc6e..760380a 100644 --- a/src/Semi.Avalonia/Controls/ComboBox.axaml +++ b/src/Semi.Avalonia/Controls/ComboBox.axaml @@ -30,11 +30,11 @@ - + - + @@ -80,27 +80,19 @@