The RadMenu cannot bind to an object like that because it will not iterate through your List<child> object. The only structure that it would be able to bind to, with regards to a class, would have to look something like this:
class Item
{
string name;
int id;
int? parentId;
}
Here the parent and child objects are the same class, the only difference being that the child has a value set in it's parentId field, where the parent would have this set as null (this is how it determines what are root elements).
I hope that explains how the RadMenu binding works.