From 6cda56a8300bc63fc318ab7426643f2c8c730b6c Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Mon, 17 Mar 2025 14:08:22 +0800 Subject: [PATCH 1/6] feat: replace TreeView icon. --- src/Semi.Avalonia/Controls/TreeView.axaml | 4 ++-- src/Semi.Avalonia/Themes/Shared/TreeView.axaml | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Semi.Avalonia/Controls/TreeView.axaml b/src/Semi.Avalonia/Controls/TreeView.axaml index 1078b93..43eae95 100644 --- a/src/Semi.Avalonia/Controls/TreeView.axaml +++ b/src/Semi.Avalonia/Controls/TreeView.axaml @@ -71,8 +71,8 @@ Background="Transparent"> diff --git a/src/Semi.Avalonia/Themes/Shared/TreeView.axaml b/src/Semi.Avalonia/Themes/Shared/TreeView.axaml index 17bcd25..e55273d 100644 --- a/src/Semi.Avalonia/Themes/Shared/TreeView.axaml +++ b/src/Semi.Avalonia/Themes/Shared/TreeView.axaml @@ -1,7 +1,6 @@ 20 - 8 8 0 0 4 8 4 From 67c0db10ace4c4ed02ca7d6ffde0a91ce135fdc2 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Sun, 16 Mar 2025 16:44:07 +0800 Subject: [PATCH 2/6] feat: replace TreeDataGrid icon. --- src/Semi.Avalonia.TreeDataGrid/Shared.axaml | 9 ++--- .../TreeDataGrid.axaml | 36 ++++++------------- 2 files changed, 14 insertions(+), 31 deletions(-) diff --git a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml index 53c4bf6..c21ce6b 100644 --- a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml @@ -1,9 +1,6 @@ - m6.45 8.34 4.8-5.48a1 1 0 0 1 1.5 0l4.8 5.48A1 1 0 0 1 16.8 10H7.2a1 1 0 0 1-.75-1.66Z - m17.55 15.66-4.8 5.48a1 1 0 0 1-1.5 0l-4.8-5.48A1 1 0 0 1 7.2 14h9.6a1 1 0 0 1 .75 1.66Z - m9.66 3.44 8.97 7.8a1 1 0 0 1 0 1.51l-8.97 7.81A1 1 0 0 1 8 19.81V4.19a1 1 0 0 1 1.66-.75Z - - - + + + 2 \ No newline at end of file diff --git a/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml index 69307d4..5582f31 100644 --- a/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml @@ -87,11 +87,8 @@ @@ -192,25 +189,17 @@ - - - - - - + Theme="{StaticResource InnerPathIcon}" + Classes="Small" + Data="{DynamicResource TreeDataGridItemCollapsedChevronPathData}" + Foreground="{TemplateBinding Foreground}" /> - + \ No newline at end of file From a671ee3fcb8bb18a1d51f190c58c8bfe1e0f9303 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Sat, 15 Mar 2025 18:29:36 +0800 Subject: [PATCH 3/6] feat: replace color resources. --- src/Semi.Avalonia.TreeDataGrid/Dark.axaml | 16 ++++++++-------- src/Semi.Avalonia.TreeDataGrid/Light.axaml | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/Semi.Avalonia.TreeDataGrid/Dark.axaml b/src/Semi.Avalonia.TreeDataGrid/Dark.axaml index f49426f..4edcc2a 100644 --- a/src/Semi.Avalonia.TreeDataGrid/Dark.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/Dark.axaml @@ -1,11 +1,11 @@ - - - + + + - - - - - + + + + + \ No newline at end of file diff --git a/src/Semi.Avalonia.TreeDataGrid/Light.axaml b/src/Semi.Avalonia.TreeDataGrid/Light.axaml index 73c6c8b..4edcc2a 100644 --- a/src/Semi.Avalonia.TreeDataGrid/Light.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/Light.axaml @@ -1,11 +1,11 @@ - - - + + + - - - - - + + + + + \ No newline at end of file From d0b9f2d7c9b030aa1cbaae9fcf31f904e2de9270 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Sun, 16 Mar 2025 17:04:56 +0800 Subject: [PATCH 4/6] feat: enhance demo. --- .../Converters/FileIconConverter.cs | 8 ++++---- .../MainWindow.axaml | 18 ++++++++---------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/Converters/FileIconConverter.cs b/demo/Semi.Avalonia.TreeDataGrid.Demo/Converters/FileIconConverter.cs index 0ed4943..88acb9d 100644 --- a/demo/Semi.Avalonia.TreeDataGrid.Demo/Converters/FileIconConverter.cs +++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/Converters/FileIconConverter.cs @@ -3,15 +3,13 @@ using System.Collections.Generic; using System.Globalization; using Avalonia; using Avalonia.Data.Converters; -using Avalonia.Media; using Avalonia.Metadata; namespace Semi.Avalonia.TreeDataGrid.Demo.Converters; -public class FileIconConverter: IMultiValueConverter +public class FileIconConverter : IMultiValueConverter { - [Content] - public Dictionary Items { get; set; } = new Dictionary(); + [Content] public IDictionary Items { get; } = new Dictionary(); public object? Convert(IList values, Type targetType, object? parameter, CultureInfo culture) { @@ -21,8 +19,10 @@ public class FileIconConverter: IMultiValueConverter { return Items["file"]; } + return isOpen ? Items["folderOpen"] : Items["folderClosed"]; } + return AvaloniaProperty.UnsetValue; } } \ No newline at end of file diff --git a/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml b/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml index 32c5e1d..076f2bd 100644 --- a/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml +++ b/demo/Semi.Avalonia.TreeDataGrid.Demo/MainWindow.axaml @@ -13,9 +13,9 @@ mc:Ignorable="d"> - M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z - M6.1,10L4,18V8H21A2,2 0 0,0 19,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H19C19.9,20 20.7,19.4 20.9,18.5L23.2,10H6.1M19,18H6L7.6,12H20.6L19,18Z - M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z + + + @@ -58,7 +58,7 @@ @@ -86,10 +86,8 @@ + Theme="{StaticResource InnerPathIcon}" + Margin="8,0"> @@ -127,7 +125,7 @@ @@ -135,4 +133,4 @@ - + \ No newline at end of file From 626dff4e698c13546e5674d6d47bda8c3278931b Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Tue, 18 Mar 2025 10:24:40 +0800 Subject: [PATCH 5/6] feat: replace shared resources. --- src/Semi.Avalonia.TreeDataGrid/Shared.axaml | 12 ++++++++---- src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml | 8 ++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml index c21ce6b..17b1497 100644 --- a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml @@ -1,6 +1,10 @@ - - - - 2 + + + + + + + + \ No newline at end of file diff --git a/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml index 5582f31..8768a53 100644 --- a/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml @@ -49,10 +49,10 @@ - + - + @@ -137,8 +137,8 @@ - - + + From a796cb828bf678102484c8900f276f907e3cfe0b Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Tue, 18 Mar 2025 22:36:12 +0800 Subject: [PATCH 6/6] fix: fix CollapsedChevron icon issue. --- src/Semi.Avalonia.TreeDataGrid/Shared.axaml | 1 + src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml index 17b1497..e421078 100644 --- a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml @@ -2,6 +2,7 @@ + diff --git a/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml index 8768a53..845ed27 100644 --- a/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml @@ -220,6 +220,7 @@