Thanks for writing and for the provided details.
1. We are currently not aware of any performance problems in terms of scrolling. In the current version of RadDataBoundList the scrolling logic is performed on another thread and thus the UI thread is left free doing only virtualization logic. So in general you should not experience any problems.
2. The second problems sounds like resulting from the UI virtualization mechanism which implies reusing of visual containers. The standard ListBox does not do this, i.e. it always creates a new container and binds it to the corresponding data item which we consider not quite optimal. Therefore the difference in behavior in both controls. So, there is a way to workaround this in RadDataBoundListBox by catching the ItemStateChanged
event, look for items that are Realized,
find the scrollviewer inside them and reset its scroll position:
sender, Telerik.Windows.Controls.ItemStateChangedEventArgs e)
(e.State != Telerik.Windows.Controls.ItemState.Realized)
RadDataBoundListBoxItem container =
ScrollViewer templateScrollViewer = ElementTreeHelper.FindVisualDescendant<ScrollViewer>(container);
I hope this helps.
All the best,
the Telerik team
Have a suggestion or face a problem - you can use the Ideas & Feedback portal
to submit ideas, feedback and vote for them.