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 +{ +} + + +