using System.Collections.Generic; using CommunityToolkit.Mvvm.ComponentModel; namespace Ursa.Demo.ViewModels; public class TreeComboBoxDemoViewModel: ObservableObject { public List Items { get; set; } public TreeComboBoxDemoViewModel() { Items = new List() { new TreeComboBoxItemViewModel() { ItemName = "Item 1", Children = new List() { new TreeComboBoxItemViewModel() { ItemName = "Item 1-1", Children = new List() { new TreeComboBoxItemViewModel() { ItemName = "Item 1-1-1" }, new TreeComboBoxItemViewModel() { ItemName = "Item 1-1-2" } } }, new TreeComboBoxItemViewModel() { ItemName = "Item 1-2" } } }, new TreeComboBoxItemViewModel() { ItemName = "Item 2", Children = new List() { new TreeComboBoxItemViewModel() { ItemName = "Item 2-1" }, new TreeComboBoxItemViewModel() { ItemName = "Item 2-2" } } }, new TreeComboBoxItemViewModel() { ItemName = "Item 3" }, }; } } public partial class TreeComboBoxItemViewModel : ObservableObject { [ObservableProperty] private string? _itemName; public List Children { get; set; } = new (); }