I'm having an issue when I expand a node with many children only the first 20 or so out of 1500 are rendered on screen.
XAML CODE
<UserControl.Resources>
<telerik:HierarchicalDataTemplate x:Key="ItemTemplate" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Node}" Foreground="Black" FontWeight="Bold" FontSize="15" />
</StackPanel>
</telerik:HierarchicalDataTemplate>
</UserControl.Resources>
...
<telerik:RadTreeView x:Name="RadTreeViewTest" Margin="5" IsVirtualizing="True" MaxHeight="300"
ItemsSource="{Binding}"
IsExpandOnSingleClickEnabled="True"
IsExpandOnDblClickEnabled="False"
ItemTemplate="{StaticResource ItemTemplate}"
IsLoadOnDemandEnabled="True"
LoadOnDemand="RadTreeViewItem_OnLoadOnDemand">
</telerik:RadTreeView>
Codebehind for the ondemand fetch
private void RadTreeViewItem_OnLoadOnDemand(object sender, RadRoutedEventArgs e)
{
RadTreeViewItem clickedItem = e.OriginalSource as RadTreeViewItem;
VirtualTreeItem item = clickedItem.Item as VirtualTreeItem;
for (int i = 0; i < 1500; i++)
{
item.Children.Add(new VirtualTreeItem(i.ToString(), ("Item" + i), i.ToString(),item));
}
clickedItem.IsExpanded = true;
clickedItem.BringIntoView();
clickedItem.IsLoadOnDemandEnabled = false;
}
Any idea why all my items aren't rendering or how to fix it?
XAML CODE
<UserControl.Resources>
<telerik:HierarchicalDataTemplate x:Key="ItemTemplate" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Node}" Foreground="Black" FontWeight="Bold" FontSize="15" />
</StackPanel>
</telerik:HierarchicalDataTemplate>
</UserControl.Resources>
...
<telerik:RadTreeView x:Name="RadTreeViewTest" Margin="5" IsVirtualizing="True" MaxHeight="300"
ItemsSource="{Binding}"
IsExpandOnSingleClickEnabled="True"
IsExpandOnDblClickEnabled="False"
ItemTemplate="{StaticResource ItemTemplate}"
IsLoadOnDemandEnabled="True"
LoadOnDemand="RadTreeViewItem_OnLoadOnDemand">
</telerik:RadTreeView>
Codebehind for the ondemand fetch
private void RadTreeViewItem_OnLoadOnDemand(object sender, RadRoutedEventArgs e)
{
RadTreeViewItem clickedItem = e.OriginalSource as RadTreeViewItem;
VirtualTreeItem item = clickedItem.Item as VirtualTreeItem;
for (int i = 0; i < 1500; i++)
{
item.Children.Add(new VirtualTreeItem(i.ToString(), ("Item" + i), i.ToString(),item));
}
clickedItem.IsExpanded = true;
clickedItem.BringIntoView();
clickedItem.IsLoadOnDemandEnabled = false;
}
Any idea why all my items aren't rendering or how to fix it?