As for your question, sure you can, but it's not so easy. If you have fixed height items, you know what you're currently showing to screen, you also know the maximum count of items, so you know how big the scrollbar should be.
There is no easy way. And this wont help you make the list "better viewable". Datagrid is known to handle only 100 items at best.
DO the loading in background thread and use ObservableCollection with timer(every 20ms) you add ~30 items. See how that works. Otherwise resort to more performance wise datagrids(non wpf)
C#/C++ | WPF/DirectShow/OpenGL/Winapi/