title: WPF Xaml ScrollViewer around listview - lazy load items when scrolling down c# C Sharp
body: <p>I have a listview bound to an observablecollection of complex objects with child collections.  The observable collection has all objects.  It is very slow loading in the listview so I want to lazy load the listview. The only editable item in the listview is a string property on the object in the collection. I am limiting the number of items in the listview via a limited collection bound to a property of number of items to display.  Ideally, when the user scrolls down it will load more items. The problem I am having is when the scroll changed fires, I increase the bound property of number of items to display, but then bring into view occurs and the scrollviewer scrolls again so in essence it just continuously updates the property and loads all items.  Any way to capture the down scroll at end of listview and just process increment one time?  I am using <code>f (scrollViewer.VerticalOffset &gt;= scrollViewer.ScrollableHeight/2 &amp;&amp; scrollViewer.VerticalOffset != 0)</code>
  to detect the scroll at the end of the list, but bringing into view fires it over and over again as items are added.  Is there an example of something similar?
  The other option would be to bind the listview to a separate list of strings but how to bind the list item string to the same property of an item in the observable collection for updates?</p>
  <p>Looking for ideas.</p>
  <p>On another note, I have it working via a button at the bottom of the listview to load more items, but I do not to require a button, I would like the scroll to perform the same function as the button (load more items by incrementing the property value that determines how many items are displayed) but I am unable to stop it from continuously firing the scroll changed event every times items are loaded.  I need to be able to 1) load more items 2) scroll to bottom of listview to display added items 3) stop loading items until the user attempts to scroll further down again.</p>