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 @@
-
+ CornerRadius="{DynamicResource ComboBoxPopupBoxCornerRadius}"
+ ClipToBounds="True">
3
+ 1
12 8
8 0
+ 504
1
+ 6
+ 0 0 8 0
+ 0 0 12 0
+ 12
+ 12
M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
+ 0 4
32
24
From 580e780e58eed32c4917d5688fbde2e8316d8d6a Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Wed, 13 Nov 2024 01:14:34 +0800
Subject: [PATCH 6/7] feat: extract CommunityToolkit version.
---
demo/Directory.Build.props | 1 +
demo/Semi.Avalonia.Demo.Desktop/Program.cs | 6 +++---
demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj | 2 +-
demo/Semi.Avalonia.TreeDataGrid.Demo/Program.cs | 12 +++++++++++-
.../Semi.Avalonia.TreeDataGrid.Demo.csproj | 11 +++++------
5 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/demo/Directory.Build.props b/demo/Directory.Build.props
index 48fa85e..9c43e2b 100644
--- a/demo/Directory.Build.props
+++ b/demo/Directory.Build.props
@@ -2,5 +2,6 @@
enable
11.2.0
+ 8.3.2
diff --git a/demo/Semi.Avalonia.Demo.Desktop/Program.cs b/demo/Semi.Avalonia.Demo.Desktop/Program.cs
index e011c45..f6fb44d 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/Program.cs
+++ b/demo/Semi.Avalonia.Demo.Desktop/Program.cs
@@ -16,13 +16,13 @@ class Program
public static void Main(string[] args) => BuildAvaloniaApp()
.With(new FontManagerOptions
{
- FontFallbacks = new[]
- {
+ FontFallbacks =
+ [
new FontFallback
{
FontFamily = new FontFamily("Microsoft YaHei")
}
- }
+ ]
})
.StartWithClassicDesktopLifetime(args);
diff --git a/demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj b/demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj
index cb9a679..9e5c54a 100644
--- a/demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj
+++ b/demo/Semi.Avalonia.Demo/Semi.Avalonia.Demo.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/Program.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/Program.cs
index b71cf5e..b0b60d9 100644
--- a/demo/Semi.Avalonia.TreeDataGrid.Demo/Program.cs
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/Program.cs
@@ -1,5 +1,6 @@
using Avalonia;
using System;
+using Avalonia.Media;
namespace Semi.Avalonia.TreeDataGrid.Demo;
@@ -10,12 +11,21 @@ class Program
// yet and stuff might break.
[STAThread]
public static void Main(string[] args) => BuildAvaloniaApp()
+ .With(new FontManagerOptions
+ {
+ FontFallbacks =
+ [
+ new FontFallback
+ {
+ FontFamily = new FontFamily("Microsoft YaHei")
+ }
+ ]
+ })
.StartWithClassicDesktopLifetime(args);
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure()
.UsePlatformDetect()
- .WithInterFont()
.LogToTrace();
}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj b/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj
index 59312af..39c2617 100644
--- a/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj
@@ -4,25 +4,24 @@
net6.0
enable
true
+ latest
app.manifest
true
-
+
-
-
-
+
-
-
+
+
From 2437df392b89914093bff2de99b8a5bcd34f0204 Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Wed, 13 Nov 2024 01:23:58 +0800
Subject: [PATCH 7/7] feat: resolve AOT issue.
---
.../Semi.Avalonia.TreeDataGrid.Demo.csproj | 6 ++++--
src/Semi.Avalonia.TreeDataGrid/Index.axaml | 4 ++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj b/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj
index 39c2617..9327fae 100644
--- a/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj
+++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/Semi.Avalonia.TreeDataGrid.Demo.csproj
@@ -1,12 +1,15 @@
WinExe
- net6.0
+ net8.0
enable
true
latest
app.manifest
true
+
+
+
@@ -19,7 +22,6 @@
-
diff --git a/src/Semi.Avalonia.TreeDataGrid/Index.axaml b/src/Semi.Avalonia.TreeDataGrid/Index.axaml
index f67ed3c..4165bb7 100644
--- a/src/Semi.Avalonia.TreeDataGrid/Index.axaml
+++ b/src/Semi.Avalonia.TreeDataGrid/Index.axaml
@@ -2,8 +2,8 @@
-
-
+
+