Check out the implementation of the virtualized dashboard .
Virtualized panels are effective because:
In memory (and visualization), only the displayed elements are displayed (and a few additional borders to ensure smooth scrolling).
Elements are reused, not re-created and discarded - the old cell is simply filled with new content (comes with a new DataContext) and used in a new place.
You can also try using WPF DataGrid for this, it supports virtualization out of the box, and essentially you're trying to do it.
WPF, , , ( JavaScript, , , WPF).