Заполнение WPF Treeview рекурсивно из базы данных в шаблоне MVVM
Я использовал статью Джоша Смита "упрощение WPF TreeView с помощью шаблона ViewModel", чтобы адаптировать его технику к приложению типа WPF, MVVM, Prism, Unity. Он отлично работает, когда я использую его образец "жестко закодированного" источника данных, предоставленного в его загрузке под названием "TreeVeiwWithViewModelDemo", но я не знаю, как изменить код, чтобы рекурсивно добавить данные в объект Person из базы данных SQL Server. Я надеюсь, что кто-то уже сделал это и может подтолкнуть меня в правильном направлении.
Код Джоша выглядит следующим образом:
public static Person GetFamilyTree() { // In a real app this method would access a database. return new Person { Name = "David Weatherbeam", Children = { new Person { Name="Alberto Weatherbeam", Children= { etc...
Мне нужно изменить это, чтобы получить доступ к базе данных и вернуть список лиц, который определяется следующим образом:
public class Person { readonly List<Person> _children = new List<Person>(); public IList<Person> Children { get { return _children; } } public string Name { get; set; } }
... и шаблон элемента WPF выглядит следующим образом:
<TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Children}"> <TextBlock Text="{Binding Name}" /> </HierarchicalDataTemplate> </TreeView.ItemTemplate>