У меня была эта проблема, и я пришел к выводу, что не могу связать не-коллекцию с древовидной структурой, чтобы указать корневой узел. Поэтому я быстро изменил свой ModelView и сделал свойство, представляющее корневой узел, набором из 1 элемента.
public class ContainerViewModel
{
public ObservableCollection<TreeNodeViewModel> RootNodes { get; private set; }
public ContainerViewModel()
{
// Create a single node in the collection of root nodes
RootNodes = new ObservableCollection<TreeNodeViewModel>();
RootNodes.Add(new TreeNodeViewModel());
}
}
public class TreeNodeViewModel
{
public ObservableCollection<TreeNodeViewModel> Children { get; set; }
}
Я использовал ObservableCollection <> выше, но, возможно, более разумно использовать что-то более дешевое, например List <>, поскольку вы не ожидаете, что коллекция изменится (по крайней мере, в вашем сценарии).