I'm trying to populate a treeview from a list of objects with child objects. I can't help but feel like i'm close but something is missing. I want to be able to feed it this list of objects to populate the treeview accordingly with the same structure of children.
foreach (var folder in folders)
{
TreeViewItem item = new TreeViewItem();
item.Header = folder.Name;
Populate(folder, item);
//trvstructure is the xaml treeview
trvStructure.Items.Add(item);
}
void Populate(Folder folder, TreeViewItem treeViewItem)
{
TreeViewItem trView = new();
trView.Header = folder.Name;
treeViewItem.Items.Add(trView);
foreach (var item in folder.Folders)
{
treeViewItem.Items.Add(item.Name);
Populate(item, trView);
}
}
I have a list of these classes each containing child elements to show subfolders
public class Folder
{
public string Name { get; set; }
public List<Folder> Folders { get; set; } = new List<Folder>();
}
Expected output
-A
-B
-C
-B
-C
-D
Here's the output i'm getting
All help is appreciated :D