I have a scenario in which I want to present a lot of items within an ItemsControl. Due to the way the items are layed out (using a canvas), I can't use the standard virtualizing panels, and so it takes a long time for the control to load.
Rather than incurring the load time of all the items in one go, I was wondering how I could load the items in batches?
So for example, if I was using a ListBox, with it's itemsSource set to some large list, how could I create the ListBoxItems in batches of say 10 items, deferring the remaining to run on the next Dispatcher event (Background or AppIdle)?
This problem could be solved quite easily from the ViewModel by having the ItemsSource be an Observable collection that grows with each new batch, but I'm wanting to add this at the View level.
I also don't want it implemented using the ItemContainers Visibility property, as that will most likely already be being used.