You can use ViewModels to wrap your objects from the Database. You can have AreaViewModel and ItemViewModel and they both could implement Telerik.Windows.Controls.ViewModelBase interface. The AreaViewModel could have a child collection - ObservableCollection<ViewModelbase> called Children. I attached a sample demonstrating how to use TemplateSelectors over such kind of hierarchy ( Folders that contain Folders and Files).
Now how to load the data in the ViewModels. You can use the technique called Lazy Loading
. When needed, you will get your data from the database. For instance, when you need the Children collection of an Area you will populate it like so: iterate over the two tables and get those areas and items with AreaID == clickedArea.AreaId. You can check out this blog post
showing a lazy loading example in the RadTreeView bound to HIerarchy of ViewModels. Please let us know if you need further assistance.
the Telerik team
Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!