Showing one image at a time is usually fast enough, if the image is of the screen size or even more, but 1000 or so… no wonder it's too slow.
You can try few different things. First, you can put only small thumbnail-size images in your list box. I hope you understand: not the images scaled down in the UI, but
different images, the copies of bigger images pre-rendered with some small size. Now, show just one big image at a time. Handle the event of selection of an item in the list box and show a big image on the side. Please understand: the users don't need to see more.
Now, even with the thumbnail size, showing all images at a time could be still to much. You can try to "virtualize" the list box through data binding. In this way, it will keep only the number of images not much more than the number visible on a screen at the same time. It needs some thinking, but quite doable. Please see this discussion:
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/cd08eb55-650e-4f2e-83dc-b58672c467a4[
^].
—SA