data virtualization via a ListView<p> I presented the below query on the WPF forum, but it might get more mileage on this network since it has to do with &quot;Data and WPF&quot; - and it could be i'd need to move to VS 2010 to better be able to do what i am asking below.... </p> <p> </p> <p> I  have a collection that i bind to my WPF ListView.  It is (what i call) a &quot;data window&quot; to the larger mass of data that i access via a webservice.  I think i'll write my own bindable custom collection, deriving from ObservableCollection&lt;T&gt; or alternatively a collection that implements IList and INotifyCollectionChanged.   So when my &quot;data window&quot; changes the ListView gets its data automatically.   I have have found a few links on this challenge, <a href="http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/45887010-2cb4-49d4-b9b2-33789a66ee36"><font color="#0072bc">here</font></a>, <a href="http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/f975adcc-af0d-4565-b448-9bbffbe1d643/"><font color="#0072bc">here</font></a>, <a href="http://blog.quantumbitdesigns.com/2008/07/22/wpf-cross-thread-collection-binding-part-4-the-grand-solution/"><font color="#0072bc">here</font></a>, <a href="http://jerryclin.wordpress.com/2008/02/06/making-a-virtualizing-wrappanel/3/"><font color="#0072bc">here</font></a>, and <a href="http://blogs.msdn.com/dancre/archive/2006/02/06/implementing-a-virtualized-panel-in-wpf-avalon.aspx"><font color="#0072bc">here</font></a>, on the basis i which i could formulate the following three questions.</p><br><br> <p>(a) Which custom collection way should i go?  Either way will dynamically update my ListView.  I am refactoring my current collection List&lt;T&gt; that i tweaked so it Sorts real fast.  But i can write a good Sort() method for either of the two refactoring ways.</p> <p>(b) I'd like the scrollbar in my ListView to emulate that it is viewing much larger data than the Collection to which the ListView is actually binded.<br>Suggestion for this?</p> <p>(c) How to get events from the scrollbar, like when scrolling to an area of data i have not yet downloaded?  <br>I'd need this to decide when to update the collection i binded to or alternatively rebind the ListView.<br> <br>The above points (b) and (c) concerns lazy loading of data - i hope it has someones interest!</p> <p>Please note that i am aware that my ListView does UI virtualization via its viewport of the data it is already binded too.  I am looking to implement data virtualization that augments the already existing UI virtualization.   It is a new requirement that my ListView be used to view online data.  I would like the scrollbar to represent the range of data available.  As the user scrolls, the data is brought in, in &quot;chuncks&quot;, thus lazy loading.</p> <p>Thanks,<br></p> <hr class=sig> Paul© 2009 Microsoft Corporation. All rights reserved.Thu, 29 Jan 2009 14:03:58 Zbf515307-cabe-4cea-aaa6-96d28cb36119http://social.msdn.microsoft.com/Forums/en-US/vs2010ctpwpfdata/thread/bf515307-cabe-4cea-aaa6-96d28cb36119#bf515307-cabe-4cea-aaa6-96d28cb36119http://social.msdn.microsoft.com/Forums/en-US/vs2010ctpwpfdata/thread/bf515307-cabe-4cea-aaa6-96d28cb36119#bf515307-cabe-4cea-aaa6-96d28cb36119Schwartzenberghttp://social.msdn.microsoft.com/Profile/en-US/?user=Schwartzenbergdata virtualization via a ListView<p> I presented the below query on the WPF forum, but it might get more mileage on this network since it has to do with &quot;Data and WPF&quot; - and it could be i'd need to move to VS 2010 to better be able to do what i am asking below.... </p> <p> </p> <p> I  have a collection that i bind to my WPF ListView.  It is (what i call) a &quot;data window&quot; to the larger mass of data that i access via a webservice.  I think i'll write my own bindable custom collection, deriving from ObservableCollection&lt;T&gt; or alternatively a collection that implements IList and INotifyCollectionChanged.   So when my &quot;data window&quot; changes the ListView gets its data automatically.   I have have found a few links on this challenge, <a href="http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/45887010-2cb4-49d4-b9b2-33789a66ee36"><font color="#0072bc">here</font></a>, <a href="http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/f975adcc-af0d-4565-b448-9bbffbe1d643/"><font color="#0072bc">here</font></a>, <a href="http://blog.quantumbitdesigns.com/2008/07/22/wpf-cross-thread-collection-binding-part-4-the-grand-solution/"><font color="#0072bc">here</font></a>, <a href="http://jerryclin.wordpress.com/2008/02/06/making-a-virtualizing-wrappanel/3/"><font color="#0072bc">here</font></a>, and <a href="http://blogs.msdn.com/dancre/archive/2006/02/06/implementing-a-virtualized-panel-in-wpf-avalon.aspx"><font color="#0072bc">here</font></a>, on the basis i which i could formulate the following three questions.</p><br><br> <p>(a) Which custom collection way should i go?  Either way will dynamically update my ListView.  I am refactoring my current collection List&lt;T&gt; that i tweaked so it Sorts real fast.  But i can write a good Sort() method for either of the two refactoring ways.</p> <p>(b) I'd like the scrollbar in my ListView to emulate that it is viewing much larger data than the Collection to which the ListView is actually binded.<br>Suggestion for this?</p> <p>(c) How to get events from the scrollbar, like when scrolling to an area of data i have not yet downloaded?  <br>I'd need this to decide when to update the collection i binded to or alternatively rebind the ListView.<br> <br>The above points (b) and (c) concerns lazy loading of data - i hope it has someones interest!</p> <p>Please note that i am aware that my ListView does UI virtualization via its viewport of the data it is already binded too.  I am looking to implement data virtualization that augments the already existing UI virtualization.   It is a new requirement that my ListView be used to view online data.  I would like the scrollbar to represent the range of data available.  As the user scrolls, the data is brought in, in &quot;chuncks&quot;, thus lazy loading.</p> <p>Thanks,<br></p> <hr class=sig> PaulThu, 29 Jan 2009 14:02:54 Z2009-01-29T14:03:56Z