Thanks for writing back.
property uses an algorithm to find the topmost item visible in the viewport. This property uses the on-demand
approach to find this item and firing the PropertyChanged
event for it would mean running this algorithm on each pass of the UI Virtualization routine which we certainly do not want.
Let me also clarify some other important points related to scrolling on Windows Phone 7.5 Mango:
We use the native ScrollViewer
to utilize the off-thread manipulation that was introduced with Windows Phone 7.5 Mango
to boost up UI virtualization performance. This off-thread manipulation implies that scrolling properties are not
constantly implemented during scrolling, but only when the scroll amount exceeds 1/4 of the ScrollViewer
's height. Therefore we do not always have the exact information where the scrollviewer's scrollbars are positioned and thus we cannot always say which item is at the top unless the scrollviewer has stopped scrolling (this is the moment when all events and properties are updated except the case with exceeding 1/4 of the ScrollViewer
Having in mind these facts, the only reasonable approach to implement the scenario you mentioned earlier is using the approach that we utilize in our AgendaViewer
which we do not consider bad (using Timers
is completely legal :-)).
I hope this helps.
All the best,
the Telerik team
Sharpen your .NET Ninja skills
! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>