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 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 diff --git a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml index 53c4bf6..e421078 100644 --- a/src/Semi.Avalonia.TreeDataGrid/Shared.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/Shared.axaml @@ -1,9 +1,11 @@ - 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..845ed27 100644 --- a/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml +++ b/src/Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml @@ -49,10 +49,10 @@ - + - + @@ -87,11 +87,8 @@ @@ -140,8 +137,8 @@ - - + + @@ -192,25 +189,17 @@ - - - - - - + Theme="{StaticResource InnerPathIcon}" + Classes="Small" + Data="{DynamicResource TreeDataGridItemCollapsedChevronPathData}" + Foreground="{TemplateBinding Foreground}" /> - + \ No newline at end of file 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