Hello Mike and Domagoj,
This behavior is expected by design. The RadTreeViewItems are the visual containers of your data which you wish to show. Initially, after the RadTreeView loads, only the first (root-level) level RadTreeViewItems are generated. Then the child RadTreeViewItems are generated when their parent item gets expanded. Setting the CheckState or IsChecked before the RadTreeViewItem has been generated cannot activate the TriState logic automatically.
The best way to achieve the desired functionality is to work with ViewModels and ContainerBindings. However, you have to keep in mind that the ContainerBindings have bigger priority than the default TriState behavior and I suggest you to implement it on your own so that it will work in every scenario. You can examine a TriState logic implemented in ViewModels in this code library project.
Please let us know if you need further assistance on this.
Kind regards,
Petar Mladenov
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>