Hey.
I have an ObservableCollection of objects bound to an SfListView and I use some of the properties on the objects in the list to sort and group the list using SortDescriptors and GroupDescriptors with LiveDataUpdateMode enabled, to be able to refresh the items in the list silently in the background without the user noticing, but when calling OnPropertyChanged on the properties used for sorting and/or grouping on the objects in the list to update the items in list, the scroll position changes more or less, which is undesirable as it disrupts/confuses the user and makes the silent refresh not so silent.
Through some testing I've distilled my problems down to 2 main issues:
Issue 1When AutoFitMode=Height on the SfListView and OnPropertyChanged is called on the property used for sorting with LiveDataUpdateMode enabled and/or the property used for grouping, then the scroll position will move unpredictably at random, if you've scrolled away from the very top of the list. The issue happens less frequently with the property used for grouping than it does with the property used for sorting, but it happens with both.
Issue 2
When AutoFitMode=None, when the very last item in an SfListView is visible, either partially or fully, and OnPropertyChanged is called on the property used for sorting with LiveDataUpdateMode enabled and/or the property used for grouping, then the scroll position exactly moves up to the second to last item, leaving the very last item out of view. When AutoFitMode=Height and scrolled all the way to the bottom when calling OnPropertyChanged, then the scroll position will move more violently and unpredictably.
Are there any workarounds for these issues to stop the scroll position from moving around and is this something you can potentially address in a future release?
I've prepared a sample for you guys to play around with these issues that I've attached to this post.
Thanks in advance!
Attachment:
SfListViewSample_Scroll_Sorting_Grouping_Problem_1388e116.zip