Too many TreeViewItems are created internally when using virtualization. This causes the tree to consume large amount of space when performing virtualization intensive tasks like CollapseAll or ExpandAll. The XAML team recently reviewed this issue and will not be addressing it. On ExpandALL / CollapseALL virtualization creates / recycles / reuses containers - RadTreeViewItems. You cannot be sure when the GarbageCollector will free up the currently unused containers. Also after even number of invocations (ExpandAll + CollapseAll), the containers that are not freed up from memory is not increasing - it is constant which means there is no memory leak to worry for.
When two equal objects are used in the source collection, the first is always selected when you try to select the others. Workaround when TreeView is not databound. Instead of adding objects directly in the TreeView's Items Collection, add RadTreeViewItems. For Example, instead of treeView.Items.Add(1), treeView.Items.Add(2) do treeView.Items.Add(new RadTreeViewItem(){Header = 1}, treeView.Items.Add(new RadTreeViewItem(){Header = 2} Workaround when TreeView is databound. For example , if we databind the treeview to collection of DataItems and some dataitem is located in multiple places in the source collection. Solution => Wrap the DataItem class in new class - DataItemWrapper. It can hold the underlying DataItem, add additional property (for exampel ID) and override the Equals and GetHashCode methods. This way different DataItemWrapper objects can hold equal DataItem objects. In such way if you bind the treeview to collection of DataItemWrappers the selection will be successful. DECLINED: The XAML team recently reviewed this bug and won't be adressing it in future. It can be actually considered as feature request because selection should have notion for selected containers. Unfortunately, the initial code design of the RadTreeView does not have such notion and the complexity of adding such feature now is very big.
When using binding to CheckState property and TriStateMode is enabled the checking of parent (its business object) does not affect unrealized childrens' CheckState, because the bindings have greater priority than the TriState logic. Same in the other direction - checking the child has no effect over the parent. Marking this as Declined. TriState Mode is supported in XAML-defined or code behind defined trees with direct creation of 3Viewitems. In DataBound scenarios, 3-State should be created by the user with ViewModels as described in this help article. http://www.telerik.com/help/wpf/radtreeview-howto-tri-state-mvvm.html
SelectedItems collection not updated when items are removed
Implemented Multiple selection mode which is consistent with the same mode in RadListBox, RadGridView, etc. Multiple Selection refers to Selecting / Deselecting items with single Mouse click or single space key press. Until Q3 2015 this Extended ans Multiple Selection had the same behavior. Will be available in Q3 2015 Release.
Rendering issues occure when using Hierarchical virtualization mode and bring into view. The issue is hit in both platforms - WPF and Silverlight.
If item is expanded from the UI and viewport is scrolled to the top calling BringIndexIntoView causes the viewport to lock while scrolling. Available in LIB version: 2016.2.516
When TreeView is placed inside floating VS ToolWindow and item is selected the visual state remains unchanged after focus leaves the TreeView.
Change the selection on MouseLeftButtonUp instead of MouseLeftButtonDown.
Add a possibility to disable selection of RadTreeViewItem.
Support CommandBindings. The item is Completed => RadTreeViewitem is ICommnadSource since 2011. RadTreeViewItem already has Command property, the command fires on mouse click.
If RadTreeView.IsEnabled false (or the tree is inside busy BusyIndicator), then ExpandItemByPath(or GetItemByPath) does not work. Available in LIB version: 2016.2.525
In a virtualized TreeView, after ExpandAll and scroll operations, there are gaps in the TreeViewPanel.
RadTreeViewItem.AutomationProperties.Name is not read correctly since version 2011.2
Show tooltip when node (the Header of the RadTreeViewiItem) is clipped. You can check a possible implementation in this SDK sample: https://github.com/telerik/xaml-sdk/tree/master/TreeView/ShowTooltipWhenNodeIsClipped
Binding to IsChecked property doesn't work in TwoWay mode (ConvertBack doesn't work). Declined. IsChecked / CheckState are supported only in xaml-defined RadTreeViews. In databinding scenarios use the approach described here => http://www.telerik.com/help/wpf/radtreeview-howto-tri-state-mvvm.html
When value types are inserted in the Items collection of RadTreeView and root values are duplicated in the children a StackOverflowException is raised after a call to ExpandAll. The XAML has recently reviewed the status of this issue and won't be addressing it in future releases. This is a design limitation - RadTreeView does not support duplication of value types in its Items / ItemsSource collections. This potentially can cause troubles with virtualization / selection / expandALL features.
When using binding to check state and dynamically adding subitem to a praticular items, the parent items check state is incorrectly set to Off (from ON) although the child item state is also On. Marking this Declined. Binding to CheckState is not supported in MVVM scenarios. Please use the approach described here => http://www.telerik.com/help/wpf/radtreeview-howto-tri-state-mvvm.html
When the RadTreeView is virtualizaed, the images are not shown. This works when the tree is bound to collection of objects and the DefaultImageSource is bound. Reason for deletion: The workaround is easy - just bind the DefaultImageSrc, ExpandedImageSrc to string properties from the ViewModel. Also, a possible fix would slow down the virtualization process in the RadTreeView.
CheckedItems collection of RadTreeView contains all items. Edit: Please avoid using this collection because it has never been implemented completely in RadTreeView. In DataBinding scenarios, you can use CheckBox in the ItemTemplate of the RadTreeView. Approach can be found here => http://docs.telerik.com/devtools/wpf/controls/radtreeview/how-to/howto-tri-state-mvvm.html CheckedItems colelction can be implemented in the ViewModels, instead of using the built-in property. The XAML team has recently reviewed this issue and will not be addressing it as at this time the team is focusing on the bugs impacting the highest number of developers. If you have encountered this issue and it is blocking for your work please contact us through the support ticketing system with details on your setup and a reference to this item.