diff --git a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml index 5b3a663..4cbba96 100644 --- a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml +++ b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml @@ -4,10 +4,13 @@ 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:vm="clr-namespace:Semi.Avalonia.Demo.Pages" d:DesignHeight="450" d:DesignWidth="800" + x:CompileBindings="True" + x:DataType="vm:TreeViewVm" mc:Ignorable="d"> - + @@ -42,5 +45,12 @@ - + + + + + + + + diff --git a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs index 523ce73..1bd90f7 100644 --- a/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs +++ b/demo/Semi.Avalonia.Demo/Pages/TreeViewDemo.axaml.cs @@ -1,6 +1,8 @@ +using System.Collections.ObjectModel; using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; +using CommunityToolkit.Mvvm.ComponentModel; namespace Semi.Avalonia.Demo.Pages; @@ -9,5 +11,34 @@ public partial class TreeViewDemo : UserControl public TreeViewDemo() { InitializeComponent(); + this.DataContext = new TreeViewVm(); } +} + +public class TreeViewVm : ObservableObject +{ + public ObservableCollection Items { get; set; } + + public TreeViewVm() + { + Items = new ObservableCollection() + { + new TreeViewItemVm() {Name = "Item 1", Id = "1"}, + new TreeViewItemVm() {Name = "Item 2", Id = "2"}, + new TreeViewItemVm() {Name = "Item 3", Id = "3", Items = new ObservableCollection() + { + new TreeViewItemVm() {Name = "Item 3.1", Id = "3.1"}, + new TreeViewItemVm() {Name = "Item 3.2", Id = "3.2"}, + new TreeViewItemVm() {Name = "Item 3.3", Id = "3.3"}, + }, + }, + }; + } +} + +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