One of the approaches you can use is the TriStateMode of the RadTreeView.
You can set IsTriStateMode = True.
This way, when you select a particular node - all of its direct and indirect children will get checked too. So you will need to only check the RadTreeViewItems from the root level collection. The RadTreeView.Items Collection will give you the root RadTreeViewItems when they are defined in XAML. So you can iterate over it, or you can also use RadTreeView.ItemContainerGenerator.ContainerFromIndex() method.
If you don't wish to use the TriState mode, you can traverse the tree and check every item. Please check out this help article describing a possible approach for traversing the tree hierarchy:
the Telerik team
Sharpen your .NET Ninja skills
! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>