Setting the HeaderStringFormat of RadTreeViewItem does not format the Header. As a workaround, HeaderTemplate of RadTreeViewItem could be set which has TextBlock with StringFormat property set on its Text Binding. <DataTemplate x:Key="template"> <TextBlock Text="{Binding ., StringFormat='Received ({0:N0})'}" /> </DataTemplate> Available in LIB version: 2016.3.1121
When you reorder the collection very fast an exception is thrown. This is reproducible when the UI virtualization is enabled with its virtualization mode set to Recycling, and an item is selected. Also, you can observe some missing items glitches instead of the exception. To reproduce this you can call the ObservableCollection's Move() method several times in a single method (see the attached project). In this case also a NullReferenceException is thrown sometimes instead of the InvalidOperationException. To work this around delay the reordering calls so that the treeview has time to properly measure and arrange itself. For example: Items.Move(10, 2); Application.Current.Dispatcher.BeginInvoke(new Action(() => { Items.Move(10, 2); }), System.Windows.Threading.DispatcherPriority.Background);
System.Windows.Media.Animation Warning is apparent during DragDrop in the TreeView in WPF.
The scroll position resets when the measure of the treeview panel is fired for some reason. For example, when the RadTreeView is placed inside a RadPanelBarItem and the RadPanelBar's ScrollViewer is disabled, resizing the RadPanelBar resets the RadTreeView scroll position.
with RadTreeView control,using MVVM binding,the xaml like : AutoScrollToSelectedItem="True" IsVirtualizing="False" looking the attach files,Navigate by the RadBreadcrumb(the RadBreadcrumb and the RadTreeView binding the same data source,and binding the same SelectedIem), when expand the level4,the RadTreeView can't bring the selected item to view,but scroll mouse to the seleced item view,then Navigate again the same postion ,it can scroll,the radtreeview can reach the selected item. I test the microsoft treeview,if the Virtualizing is true,it can't scroll the selected item,but set the Virtualizing to false,it is good. the other question,how to set the style?the selected item's highligh area can expand the full row,like the visual studio.
When expanding all items with a horizontal scrollbar the last item is hidden by the scrollbar. As a workaround, you can set the IsVirtualizing property of the RadTreeView to True.
Generated item cache is not cleared properly. This leads to memory leaking when items are virtualized and realized. As a workaround you can set the IsVisualCacheEnabled property of the TreeViewPanel to False. Note that this will work only in Recycling VirtualizationMode. <telerik:RadTreeView.ItemsPanel> <ItemsPanelTemplate> <telerik:TreeViewPanel IsVisualCacheEnabled="False" /> </ItemsPanelTemplate> </telerik:RadTreeView.ItemsPanel>
When sorting a table I get the following stacktrace. 06.12.2016 15:39:34 Error General Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at System.Windows.Controls.ItemContainerGenerator.Remove(GeneratorPosition position, Int32 count, Boolean isRecycling) at Telerik.Windows.Controls.TreeView.TreeViewPanel.CleanupRange(IList children, IItemContainerGenerator generator, Int32 startIndex, Int32 count) at Telerik.Windows.Controls.TreeView.TreeViewPanel.CleanupContainers(Int32 firstViewport, ItemsControl itemsControl) at Telerik.Windows.Controls.TreeView.TreeViewPanel.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ItemsPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at Telerik.Windows.Controls.RadTreeViewItem.MeasureOverride(Size availableSize) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at Telerik.Windows.Controls.TreeView.TreeViewPanel.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ItemsPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) ...
When IsVirtulizing is set to true and there are many items in the tree view pressing several times PageUp key brings the view port to the beginning of the tree rather to the previous page.
Rendering issues occure when using Hierarchical virtualization mode and bring into view. The issue is hit in both platforms - WPF and Silverlight.
When placed in grid column with Auto width and had its own width set to Auto, the RadTreeView does not scroll.
When the TreeView's ScrollViewer is Visible, changing the tree's width to 0 them back to Auto breaks the scrolling function of the ScrollViewer. The workaround is to make the TreeView Collapsed before setting the Width to 0 and make it Visible before setting the Width back to Auto. Another workaround: Use visibility instead of Width=0.
SelectedItem property should not accept RadTreeViewItem objects when is data bound. Reason for decline:
SelectedItems collection does not work correctly when the RadTreeView is virtualized and ContainerBindings (SL) / Style Bindings (WPF) are used for binding the IsSelected property. The issue is not reproducible with R3 2016 version of RadTreeView with both Multiple and Extended Selection mode. Please open a new support thread with detals from your scenario if you encounter similar issue.
Setting a non-default value to the RadTreeView ItemsIndent property disarranges the lines
Scenario: Databound TreeView with IsSelected bindings between item and container. Adding a selected data object to the ItemsSource does not fire the Selected event.
The vertical scroll cannot be moved via the mouse wheel or by clicking on the scrollbar's thumb after the End key is pressed. This is reproducible ONLY if the UI virtualization is enabled and if there are many items (500-1000+).
The TreeViewItems are expanded and collapsed on MouseLeftButtonUp which leads to an expand/collapse operation even if the MouseLeftButtonDown event was fired by another element. This can be easility reproduced if you hold down the mouse left button over any element outside the RadTreeView and then releasing it over any RadTreeViewItem when the RadTreeView IsExpandOnSingleClickEnabled is True. It can also be reprorduced with the following steps: 1) left click on a node and hold the mouse button down 2) release the mouse when over a non-selected node that has children. The result is expanding/collapsing the unselected node.
This issue is applicable to Silverlight ONLY! We have a RadTreeView with following properties IsLoadOnDemandEnabled="True", IsVirtualizing="True" and SelectionMode="Extended" set. We select an element, collapse his parent and select another item. At this point if we expand the previously parent, both the newly selected item and the the first selected item are selected. It is not correct the first item to preserve its selection state. 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.
Use virtualization in hierarchical mode. Select a RadTreeViewItem that has parent. Move it somewhere in the source collection of the parent programmatically - reorder or sort. The item will remain in Museover State forever. Perform the same steps with Recycling mode, there might be missing RadtreeViewItems (not rendered at all) after the sort / reorder operation.