From 816af5a7b111a6ab6b9e6351487af773a856e215 Mon Sep 17 00:00:00 2001
From: ImLuJian <504439788@qq.com>
Date: Sat, 15 Jul 2023 11:20:42 +0800
Subject: [PATCH] =?UTF-8?q?TreeView=E6=B7=BB=E5=8A=A0=E5=A4=9A=E9=87=8D?=
=?UTF-8?q?=E5=B5=8C=E5=A5=97=E7=BB=91=E5=AE=9A=E7=A4=BA=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Pages/TreeViewDemo.axaml | 102 +++++++++++-------
.../Pages/TreeViewDemo.axaml.cs | 44 +++++++-
2 files changed, 106 insertions(+), 40 deletions(-)
diff --git a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml
index 4cbba96..1f5c8dc 100644
--- a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.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:models="using:Semi.Avalonia.Demo.Pages"
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.Pages"
d:DesignHeight="450"
d:DesignWidth="800"
@@ -11,46 +12,69 @@
x:DataType="vm:TreeViewVm"
mc:Ignorable="d">
-
-
-
-
-
-
-
-
-
-
-
-
- Layer 1
- Layer 2
- Layer 3
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layer 1
+ Layer 2
+ Layer 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs
index 1bd90f7..6674925 100644
--- a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs
+++ b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs
@@ -19,6 +19,8 @@ public class TreeViewVm : ObservableObject
{
public ObservableCollection Items { get; set; }
+ public ObservableCollection? MultipleLevelItems { get; set; }
+
public TreeViewVm()
{
Items = new ObservableCollection()
@@ -33,6 +35,25 @@ public class TreeViewVm : ObservableObject
},
},
};
+
+ MultipleLevelItems = new();
+ for (int i = 1; i < 6; i++)
+ {
+ FirstItem firstItem = new FirstItem { Id = i, Name = $"FirstItem {i}" };
+ firstItem.SecondItems = new();
+ for (int j = 1; j < 6; j++)
+ {
+ SecondItem secondItem = new SecondItem { Id = j, Name = $"SecondItem {j}" };
+ secondItem.ThirdItemItems = new();
+ for (int k = 1; k < 6; k++)
+ {
+ ThirdItem thirdItem = new ThirdItem { Id = k, Name = $"ThirdItem {k}" };
+ secondItem.ThirdItemItems.Add(thirdItem);
+ }
+ firstItem.SecondItems.Add(secondItem);
+ }
+ MultipleLevelItems.Add(firstItem);
+ }
}
}
@@ -41,4 +62,25 @@ public partial class TreeViewItemVm : ObservableObject
public ObservableCollection Items { get; set; }
public string Name { get; set; }
public string Id { get; set; }
-}
\ No newline at end of file
+}
+
+public class ItemBase
+{
+ public int Id { get; set; }
+ public string? Name { get; set; }
+}
+public class FirstItem : ItemBase
+{
+ public ObservableCollection? SecondItems { get; set; }
+}
+public class SecondItem : ItemBase
+{
+ public ObservableCollection? ThirdItemItems { get; set; }
+
+}
+public class ThirdItem : ItemBase
+{
+}
+
+
+