To reproduce: Bind the tree to the following structure: public class DeskSites { public string DeskSiteName { get; set; } public Channels channels { get; set; } } public class Channels : List<Channel> { } public class Channel { public string ChannelName { get; set; } public FileSets fileSets { get; set; } } public class FileSets : List<FileSet> { } public class FileSet { public string FileSetName { get; set; } } Workaround: Use the the generic class instead of the inherited one: public class DeskSites { public string DeskSiteName { get; set; } public List<Channel> channels { get; set; } }