From 4758fc6547dfd0713cca99cf8a6469d9b5de5e75 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Thu, 27 Apr 2023 10:25:39 +0800 Subject: [PATCH 01/24] feat: fix scrollviewer theme, add new theme, add demo. --- .../Pages/ScrollViewerDemo.axaml | 33 +++++++++++ .../Pages/ScrollViewerDemo.axaml.cs | 18 ++++++ demo/Semi.Avalonia.Demo/Views/MainView.axaml | 3 + src/Semi.Avalonia/Controls/ScrollViewer.axaml | 59 ++++++++++++++++--- 4 files changed, 105 insertions(+), 8 deletions(-) create mode 100644 demo/Semi.Avalonia.Demo/Pages/ScrollViewerDemo.axaml create mode 100644 demo/Semi.Avalonia.Demo/Pages/ScrollViewerDemo.axaml.cs diff --git a/demo/Semi.Avalonia.Demo/Pages/ScrollViewerDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ScrollViewerDemo.axaml new file mode 100644 index 0000000..52882ed --- /dev/null +++ b/demo/Semi.Avalonia.Demo/Pages/ScrollViewerDemo.axaml @@ -0,0 +1,33 @@ + + + + + + + + + + diff --git a/demo/Semi.Avalonia.Demo/Pages/ScrollViewerDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/ScrollViewerDemo.axaml.cs new file mode 100644 index 0000000..4e73d1b --- /dev/null +++ b/demo/Semi.Avalonia.Demo/Pages/ScrollViewerDemo.axaml.cs @@ -0,0 +1,18 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace Semi.Avalonia.Demo.Pages; + +public partial class ScrollViewerDemo : UserControl +{ + public ScrollViewerDemo() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} \ No newline at end of file diff --git a/demo/Semi.Avalonia.Demo/Views/MainView.axaml b/demo/Semi.Avalonia.Demo/Views/MainView.axaml index d6a88ef..1e517fc 100644 --- a/demo/Semi.Avalonia.Demo/Views/MainView.axaml +++ b/demo/Semi.Avalonia.Demo/Views/MainView.axaml @@ -150,6 +150,9 @@ + + + diff --git a/src/Semi.Avalonia/Controls/ScrollViewer.axaml b/src/Semi.Avalonia/Controls/ScrollViewer.axaml index 85019c2..e377a2d 100644 --- a/src/Semi.Avalonia/Controls/ScrollViewer.axaml +++ b/src/Semi.Avalonia/Controls/ScrollViewer.axaml @@ -202,6 +202,57 @@ + + + + + + + + + + + + + + + + + + + + + @@ -238,14 +289,6 @@ - - - From 64a9f9e25a1f49e6bb3239357820506f222e183f Mon Sep 17 00:00:00 2001 From: rabbitism Date: Fri, 5 May 2023 01:07:00 +0800 Subject: [PATCH 02/24] feat: change to new converter to avoid resource dictionary key issue. --- .../Controls/ManagedFileChooser.axaml | 5 ++-- .../Converters/KeyToPathConverter.cs | 26 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 src/Semi.Avalonia/Converters/KeyToPathConverter.cs diff --git a/src/Semi.Avalonia/Controls/ManagedFileChooser.axaml b/src/Semi.Avalonia/Controls/ManagedFileChooser.axaml index dc441b4..7767672 100644 --- a/src/Semi.Avalonia/Controls/ManagedFileChooser.axaml +++ b/src/Semi.Avalonia/Controls/ManagedFileChooser.axaml @@ -1,6 +1,7 @@ @@ -14,11 +15,11 @@ - + M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M12,4A6,6 0 0,0 6,10C6,13.31 8.69,16 12.1,16L11.22,13.77C10.95,13.29 11.11,12.68 11.59,12.4L12.45,11.9C12.93,11.63 13.54,11.79 13.82,12.27L15.74,14.69C17.12,13.59 18,11.9 18,10A6,6 0 0,0 12,4M12,9A1,1 0 0,1 13,10A1,1 0 0,1 12,11A1,1 0 0,1 11,10A1,1 0 0,1 12,9M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M12.09,13.27L14.58,19.58L17.17,18.08L12.95,12.77L12.09,13.27Z - + diff --git a/src/Semi.Avalonia/Converters/KeyToPathConverter.cs b/src/Semi.Avalonia/Converters/KeyToPathConverter.cs new file mode 100644 index 0000000..3b37329 --- /dev/null +++ b/src/Semi.Avalonia/Converters/KeyToPathConverter.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using Avalonia; +using Avalonia.Data.Converters; +using Avalonia.Metadata; + +namespace Semi.Avalonia.Converters; + +public class KeyToPathConverter: IValueConverter +{ + [Content] + public IDictionary Resources { get; } = new Dictionary(); + + public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if(value is string s && Resources.TryGetValue(s, out var v)) + return v; + return AvaloniaProperty.UnsetValue; + } + + public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } +} \ No newline at end of file From aee8042af8d954931ad35715f32146ac0ec764c8 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Fri, 5 May 2023 01:44:38 +0800 Subject: [PATCH 03/24] feat: add resources. --- src/Semi.Avalonia/Controls/Controls.axaml | 1 + .../Controls/DataValidationErrors.axaml | 41 +++++++++++++++++++ src/Semi.Avalonia/Themes/Dark/Dark.axaml | 1 + .../Themes/Dark/DataValidationErrors.axaml | 12 ++++++ .../Themes/Light/DataValidationErrors.axaml | 12 ++++++ src/Semi.Avalonia/Themes/Light/Light.axaml | 1 + 6 files changed, 68 insertions(+) create mode 100644 src/Semi.Avalonia/Controls/DataValidationErrors.axaml create mode 100644 src/Semi.Avalonia/Themes/Dark/DataValidationErrors.axaml create mode 100644 src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml diff --git a/src/Semi.Avalonia/Controls/Controls.axaml b/src/Semi.Avalonia/Controls/Controls.axaml index 59e49ad..1674a64 100644 --- a/src/Semi.Avalonia/Controls/Controls.axaml +++ b/src/Semi.Avalonia/Controls/Controls.axaml @@ -16,6 +16,7 @@ + diff --git a/src/Semi.Avalonia/Controls/DataValidationErrors.axaml b/src/Semi.Avalonia/Controls/DataValidationErrors.axaml new file mode 100644 index 0000000..781b90a --- /dev/null +++ b/src/Semi.Avalonia/Controls/DataValidationErrors.axaml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Themes/Dark/Dark.axaml b/src/Semi.Avalonia/Themes/Dark/Dark.axaml index 7815e35..b588cdd 100644 --- a/src/Semi.Avalonia/Themes/Dark/Dark.axaml +++ b/src/Semi.Avalonia/Themes/Dark/Dark.axaml @@ -13,6 +13,7 @@ + diff --git a/src/Semi.Avalonia/Themes/Dark/DataValidationErrors.axaml b/src/Semi.Avalonia/Themes/Dark/DataValidationErrors.axaml new file mode 100644 index 0000000..a54f303 --- /dev/null +++ b/src/Semi.Avalonia/Themes/Dark/DataValidationErrors.axaml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml b/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml new file mode 100644 index 0000000..c319b1d --- /dev/null +++ b/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Themes/Light/Light.axaml b/src/Semi.Avalonia/Themes/Light/Light.axaml index d456bae..2116c6b 100644 --- a/src/Semi.Avalonia/Themes/Light/Light.axaml +++ b/src/Semi.Avalonia/Themes/Light/Light.axaml @@ -12,6 +12,7 @@ + From 127bd1446a2551be1bbb2210ff3816c42216ea12 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Fri, 5 May 2023 02:21:33 +0800 Subject: [PATCH 04/24] feat: add validation errors to textbox. --- .../Pages/TextBoxDemo.axaml | 18 ++ .../Controls/DataValidationErrors.axaml | 2 +- src/Semi.Avalonia/Controls/TextBox.axaml | 197 +++++++++++------- .../Themes/Light/DataValidationErrors.axaml | 2 +- 4 files changed, 139 insertions(+), 80 deletions(-) diff --git a/demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml index a181a61..57bcb57 100644 --- a/demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml @@ -4,6 +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" + xmlns:system="clr-namespace:System;assembly=netstandard" d:DesignHeight="450" d:DesignWidth="800" mc:Ignorable="d"> @@ -41,6 +42,23 @@ InnerLeftContent="http://" InnerRightContent=".com" IsEnabled="False" /> + + + + + + + + + + diff --git a/src/Semi.Avalonia/Controls/DataValidationErrors.axaml b/src/Semi.Avalonia/Controls/DataValidationErrors.axaml index 781b90a..ee21df3 100644 --- a/src/Semi.Avalonia/Controls/DataValidationErrors.axaml +++ b/src/Semi.Avalonia/Controls/DataValidationErrors.axaml @@ -27,7 +27,7 @@ + + + + + + + - - + + + + + + diff --git a/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml b/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml index c319b1d..95dfb36 100644 --- a/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml +++ b/src/Semi.Avalonia/Themes/Light/DataValidationErrors.axaml @@ -1,6 +1,6 @@ - + From 5f7e1510f1eea3d5235ccbe6c886e4d9b0864201 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Fri, 5 May 2023 02:31:25 +0800 Subject: [PATCH 05/24] feat: move validation errors demo to individual page. --- .../Pages/DataValidationErrorsDemo.axaml | 61 +++++++++++++++++++ .../Pages/DataValidationErrorsDemo.axaml.cs | 18 ++++++ .../Pages/TextBoxDemo.axaml | 17 ------ demo/Semi.Avalonia.Demo/Views/MainView.axaml | 3 + 4 files changed, 82 insertions(+), 17 deletions(-) create mode 100644 demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml create mode 100644 demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml.cs diff --git a/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml new file mode 100644 index 0000000..c00f897 --- /dev/null +++ b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml.cs new file mode 100644 index 0000000..b012533 --- /dev/null +++ b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml.cs @@ -0,0 +1,18 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace Semi.Avalonia.Demo.Pages; + +public partial class DataValidationErrorsDemo : UserControl +{ + public DataValidationErrorsDemo() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} \ No newline at end of file diff --git a/demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml index 57bcb57..b12fa1f 100644 --- a/demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/TextBoxDemo.axaml @@ -42,23 +42,6 @@ InnerLeftContent="http://" InnerRightContent=".com" IsEnabled="False" /> - - - - - - - - - - diff --git a/demo/Semi.Avalonia.Demo/Views/MainView.axaml b/demo/Semi.Avalonia.Demo/Views/MainView.axaml index 1e517fc..39aa54d 100644 --- a/demo/Semi.Avalonia.Demo/Views/MainView.axaml +++ b/demo/Semi.Avalonia.Demo/Views/MainView.axaml @@ -105,6 +105,9 @@ + + + From bac20dbdbfe0b64aa6cab9380bb8f1a153e2bded Mon Sep 17 00:00:00 2001 From: rabbitism Date: Fri, 5 May 2023 10:52:08 +0800 Subject: [PATCH 06/24] feat: simplify slider template, add error. --- src/Semi.Avalonia/Controls/Slider.axaml | 268 ++++++++++++------------ 1 file changed, 131 insertions(+), 137 deletions(-) diff --git a/src/Semi.Avalonia/Controls/Slider.axaml b/src/Semi.Avalonia/Controls/Slider.axaml index 949823b..a072fdb 100644 --- a/src/Semi.Avalonia/Controls/Slider.axaml +++ b/src/Semi.Avalonia/Controls/Slider.axaml @@ -60,10 +60,10 @@ CornerRadius="{TemplateBinding CornerRadius}" /> - - @@ -75,165 +75,155 @@ - - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - + + + + + + + + + + + - + @@ -263,6 +253,10 @@ + + - @@ -173,6 +175,25 @@ + + + + + + + + + + + + From d75a4c549e6c5854f53ec02a472a47e505004e2d Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Sat, 6 May 2023 21:54:35 +0800 Subject: [PATCH 08/24] feat: add validation errors to NumericUpDown. --- .../Pages/DataValidationErrorsDemo.axaml | 7 +- .../Controls/NumericUpDown.axaml | 80 ++++++++++++------- 2 files changed, 51 insertions(+), 36 deletions(-) diff --git a/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml index df5f491..a5fc5be 100644 --- a/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml @@ -8,17 +8,12 @@ d:DesignHeight="450" d:DesignWidth="800" mc:Ignorable="d"> - + - - - - - diff --git a/src/Semi.Avalonia/Controls/NumericUpDown.axaml b/src/Semi.Avalonia/Controls/NumericUpDown.axaml index fe21510..f5bd4d2 100644 --- a/src/Semi.Avalonia/Controls/NumericUpDown.axaml +++ b/src/Semi.Avalonia/Controls/NumericUpDown.axaml @@ -5,45 +5,65 @@ - - - - + + + + + - - + + + + + + - + \ No newline at end of file From ae0994aa937224a1dbf87c201f1dd650b0d03172 Mon Sep 17 00:00:00 2001 From: rabbitism Date: Sat, 6 May 2023 22:45:46 +0800 Subject: [PATCH 09/24] feat: add hacks for internal textbox error display. --- .../Controls/DataValidationErrors.axaml | 14 ++++++++++++++ src/Semi.Avalonia/Controls/NumericUpDown.axaml | 4 +++- src/Semi.Avalonia/Controls/TextBox.axaml | 9 +++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Semi.Avalonia/Controls/DataValidationErrors.axaml b/src/Semi.Avalonia/Controls/DataValidationErrors.axaml index ee21df3..5486e93 100644 --- a/src/Semi.Avalonia/Controls/DataValidationErrors.axaml +++ b/src/Semi.Avalonia/Controls/DataValidationErrors.axaml @@ -38,4 +38,18 @@ + + + + + + + diff --git a/src/Semi.Avalonia/Controls/NumericUpDown.axaml b/src/Semi.Avalonia/Controls/NumericUpDown.axaml index f5bd4d2..fe4fc2d 100644 --- a/src/Semi.Avalonia/Controls/NumericUpDown.axaml +++ b/src/Semi.Avalonia/Controls/NumericUpDown.axaml @@ -28,11 +28,13 @@ VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" AcceptsReturn="False" CornerRadius="{TemplateBinding CornerRadius}" + DataValidationErrors.Errors="{ReflectionBinding $parent[NumericUpDown].(DataValidationErrors.Errors)}" FontSize="{TemplateBinding FontSize}" Foreground="{TemplateBinding Foreground}" IsReadOnly="{TemplateBinding IsReadOnly}" Text="{TemplateBinding Text}" TextWrapping="NoWrap" + Theme="{DynamicResource NonErrorTextBox}" Watermark="{TemplateBinding Watermark}" /> @@ -45,7 +47,7 @@ - + + + + + From cece722496dd4c6ec72268831bbd94543ab4f87a Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Sun, 7 May 2023 00:11:38 +0800 Subject: [PATCH 10/24] feat: add validation errors to CalendarDatePicker. --- .../Controls/CalendarDatePicker.axaml | 202 +++++++++++------- 1 file changed, 121 insertions(+), 81 deletions(-) diff --git a/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml b/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml index 5ba39d2..abbd36e 100644 --- a/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml +++ b/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml @@ -34,96 +34,99 @@ - - - - - + + + - - - - - - - - + - - - + + + - + + diff --git a/src/Semi.Avalonia/Controls/DateTimePickerShared.axaml b/src/Semi.Avalonia/Controls/DateTimePickerShared.axaml index e5c96cb..f18ddaf 100644 --- a/src/Semi.Avalonia/Controls/DateTimePickerShared.axaml +++ b/src/Semi.Avalonia/Controls/DateTimePickerShared.axaml @@ -30,6 +30,25 @@ + + + + + + diff --git a/src/Semi.Avalonia/Controls/TimePicker.axaml b/src/Semi.Avalonia/Controls/TimePicker.axaml index 90d21a0..89aafa2 100644 --- a/src/Semi.Avalonia/Controls/TimePicker.axaml +++ b/src/Semi.Avalonia/Controls/TimePicker.axaml @@ -139,106 +139,109 @@ - - + - - - - + + + + + From 4ba6ea324d25b453adc7b25e767ba01194a7e5a2 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Mon, 8 May 2023 17:57:43 +0800 Subject: [PATCH 12/24] fix: fix DatePicker&TimePicker MinHeight property. --- src/Semi.Avalonia/Controls/DatePicker.axaml | 6 +++--- src/Semi.Avalonia/Controls/TimePicker.axaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Semi.Avalonia/Controls/DatePicker.axaml b/src/Semi.Avalonia/Controls/DatePicker.axaml index 9f92d80..d37ec77 100644 --- a/src/Semi.Avalonia/Controls/DatePicker.axaml +++ b/src/Semi.Avalonia/Controls/DatePicker.axaml @@ -125,7 +125,6 @@ - @@ -151,6 +150,7 @@ DataValidationErrors.Errors="{TemplateBinding (DataValidationErrors.Errors)}" Foreground="{TemplateBinding Foreground}" IsEnabled="{TemplateBinding IsEnabled}" + MinHeight="{DynamicResource DateTimePickerButtonDefaultHeight}" Theme="{StaticResource DateTimePickerFlyoutButton}"> - - diff --git a/src/Semi.Avalonia/Controls/TimePicker.axaml b/src/Semi.Avalonia/Controls/TimePicker.axaml index 89aafa2..8041da1 100644 --- a/src/Semi.Avalonia/Controls/TimePicker.axaml +++ b/src/Semi.Avalonia/Controls/TimePicker.axaml @@ -129,7 +129,6 @@ - @@ -155,6 +154,7 @@ DataValidationErrors.Errors="{TemplateBinding (DataValidationErrors.Errors)}" Foreground="{TemplateBinding Foreground}" IsEnabled="{TemplateBinding IsEnabled}" + MinHeight="{DynamicResource DateTimePickerButtonDefaultHeight}" Theme="{StaticResource DateTimePickerFlyoutButton}"> @@ -253,10 +253,10 @@ - - From 6eb405abe25234682a174cfe024ef8627d21720a Mon Sep 17 00:00:00 2001 From: rabbitism Date: Mon, 8 May 2023 22:15:17 +0800 Subject: [PATCH 13/24] feat: add textbox internal style, fix various internal textbox styles. --- .../Pages/DataValidationErrorsDemo.axaml | 106 +++++++++-------- .../Controls/AutoCompleteBox.axaml | 61 +++++----- .../Controls/CalendarDatePicker.axaml | 18 ++- src/Semi.Avalonia/Controls/TextBox.axaml | 108 +++++++++++++++++- 4 files changed, 201 insertions(+), 92 deletions(-) diff --git a/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml index a5fc5be..1592d38 100644 --- a/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml @@ -8,51 +8,63 @@ d:DesignHeight="450" d:DesignWidth="800" mc:Ignorable="d"> - - - - - - - - - - - - - AAA - BBB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + AAA + BBB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Semi.Avalonia/Controls/AutoCompleteBox.axaml b/src/Semi.Avalonia/Controls/AutoCompleteBox.axaml index 93f6747..18110f5 100644 --- a/src/Semi.Avalonia/Controls/AutoCompleteBox.axaml +++ b/src/Semi.Avalonia/Controls/AutoCompleteBox.axaml @@ -12,35 +12,38 @@ - - - - - - - - + + + + + + + + + + diff --git a/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml b/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml index abbd36e..566d2ab 100644 --- a/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml +++ b/src/Semi.Avalonia/Controls/CalendarDatePicker.axaml @@ -65,18 +65,17 @@ BorderThickness="0" CornerRadius="{TemplateBinding CornerRadius}" Foreground="{TemplateBinding Foreground}" + Theme="{DynamicResource NonErrorTextBox}" UseFloatingWatermark="{TemplateBinding UseFloatingWatermark}" Watermark="{TemplateBinding Watermark}"> - - @@ -182,7 +180,7 @@ - @@ -224,7 +222,7 @@ - diff --git a/src/Semi.Avalonia/Controls/TextBox.axaml b/src/Semi.Avalonia/Controls/TextBox.axaml index 823e869..4d107a7 100644 --- a/src/Semi.Avalonia/Controls/TextBox.axaml +++ b/src/Semi.Avalonia/Controls/TextBox.axaml @@ -275,12 +275,108 @@ - - + + + + + + + + + From 97b5eb7a0481e6b773db0f709a06471875ee965a Mon Sep 17 00:00:00 2001 From: rabbitism Date: Mon, 8 May 2023 22:53:51 +0800 Subject: [PATCH 14/24] feat: add tooltip error theme. --- .../Pages/DataValidationErrorsDemo.axaml | 13 +++++ src/Semi.Avalonia.DataGrid/DataGrid.axaml | 7 +++ .../Controls/DataValidationErrors.axaml | 55 ++++++++++++++++++- 3 files changed, 74 insertions(+), 1 deletion(-) diff --git a/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml index 1592d38..a8e1101 100644 --- a/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/DataValidationErrorsDemo.axaml @@ -65,6 +65,19 @@ + + + + + + + + diff --git a/src/Semi.Avalonia.DataGrid/DataGrid.axaml b/src/Semi.Avalonia.DataGrid/DataGrid.axaml index 50373a3..9087751 100644 --- a/src/Semi.Avalonia.DataGrid/DataGrid.axaml +++ b/src/Semi.Avalonia.DataGrid/DataGrid.axaml @@ -14,6 +14,13 @@ BasedOn="{StaticResource {x:Type TextBox}}" TargetType="TextBox"> + + + diff --git a/src/Semi.Avalonia/Controls/DataValidationErrors.axaml b/src/Semi.Avalonia/Controls/DataValidationErrors.axaml index 5486e93..a91ebf0 100644 --- a/src/Semi.Avalonia/Controls/DataValidationErrors.axaml +++ b/src/Semi.Avalonia/Controls/DataValidationErrors.axaml @@ -1,4 +1,7 @@ - + @@ -52,4 +55,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + From e40bc531e40b4151949ef1518d77868437425f57 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Tue, 9 May 2023 17:42:08 +0800 Subject: [PATCH 15/24] feat: add Success Button style. --- .../Semi.Avalonia.Demo/Pages/ButtonDemo.axaml | 5 ++++ demo/Semi.Avalonia.Demo/Pages/Overview.axaml | 1 + .../Pages/ToggleButtonDemo.axaml | 3 +++ src/Semi.Avalonia/Controls/Button.axaml | 16 ++++++++++++ .../Controls/DropDownButton.axaml | 16 ++++++++++++ src/Semi.Avalonia/Controls/RepeatButton.axaml | 16 ++++++++++++ src/Semi.Avalonia/Controls/SplitButton.axaml | 17 ++++++++++++ src/Semi.Avalonia/Controls/ToggleButton.axaml | 26 +++++++++++++++++++ src/Semi.Avalonia/Themes/Dark/Button.axaml | 9 +++++++ .../Themes/Dark/ToggleButton.axaml | 10 +++++++ src/Semi.Avalonia/Themes/Light/Button.axaml | 9 +++++++ .../Themes/Light/ToggleButton.axaml | 10 +++++++ 12 files changed, 138 insertions(+) diff --git a/demo/Semi.Avalonia.Demo/Pages/ButtonDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ButtonDemo.axaml index d714c04..4f94211 100644 --- a/demo/Semi.Avalonia.Demo/Pages/ButtonDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/ButtonDemo.axaml @@ -13,6 +13,7 @@ + @@ -22,6 +23,7 @@ + + +