I'm binding the RadGridView to an ObservableCollection of about 1,000 items or so. I have both Row and Column Virtualization turned on. When I'm displaying my grid cells as plain TextBlocks, the realtime scrolling performance is pretty decent (Immediate scrolling is not an option). But once I start using more complex templates, like my own custom editors, scrolling performance suffers greatly, and becomes very choppy. The grid definition looks something like:
<telerik:RadGridView
ItemsSource="{Binding MyItemsSource}"
ScrollMode="RealTime"
SelectionMode="Extended"
AutoGenerateColumns="False"
EnableColumnVirtualization="True"
EnableRowVirtualization="True">
and the columns looks like:
<telerik:GridViewDataColumn Header="Price">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Price.Value}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
Even if I keep the entire grid as TextBlocks but just make even a couple of columns TextBoxes, the scrolling performance starts to degrade fairly quickly. If I disable both row and column Virtualization completely, then the grid scrolls very fast, but starts to take up a lot of memory (because it's instantiating all of the visual trees, it's something around 1GB memory usage). Are there any other settings that can help with the scrolling performance, or anything else that I can do ? I've found the grid very performant is almost all other scenarios, and it would be a shame to discard an otherwise well performing grid because of lackluster scrolling.
<telerik:RadGridView
ItemsSource="{Binding MyItemsSource}"
ScrollMode="RealTime"
SelectionMode="Extended"
AutoGenerateColumns="False"
EnableColumnVirtualization="True"
EnableRowVirtualization="True">
and the columns looks like:
<telerik:GridViewDataColumn Header="Price">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Price.Value}" />
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
Even if I keep the entire grid as TextBlocks but just make even a couple of columns TextBoxes, the scrolling performance starts to degrade fairly quickly. If I disable both row and column Virtualization completely, then the grid scrolls very fast, but starts to take up a lot of memory (because it's instantiating all of the visual trees, it's something around 1GB memory usage). Are there any other settings that can help with the scrolling performance, or anything else that I can do ? I've found the grid very performant is almost all other scenarios, and it would be a shame to discard an otherwise well performing grid because of lackluster scrolling.