создайте класс «узел», который содержит наблюдаемую коллекцию дочерних узлов, например:
class node
{
// add some data properties in here, too
public ObservableCollection<node> children;
}
// declare an instance, in the data model (or where-ever)
ObservableCollection<node> RootLevel = new ObservableCollection<node>();
Я мог бы дать вам лучший ответ, если бы знал, для какой платформы вы пытаетесь это сделать.(WPF или Silverlight и т. Д.)