Мне недавно приходилось устраивать поиски похожих функций, и я изо всех сил пытался найти что-нибудь готовое для производства.
Я нашел серию или статьи и пример кода, которые содержат панель виртуализации плитки
http://blogs.msdn.com/b/dancre/archive/tags/virtualizingtilepanel/
Я использовал его, и он был довольно стабильным. Были некоторые изменения, которые нужно было сделать, хотя. Нам пришлось добавить некоторые элементы управления с клавиатуры на панель, так как они не были реализованы, необходимо изменить табуляции, а также настроить размеры листов и т. Д. Это хорошая отправная точка, если вы решите свернуть свой собственный.
Однако одно важное предостережение заключалось в том, что он также ДОЛЖЕН иметь родителя, который ограничен ограниченным размером, иначе он допустит ошибку. Обычно это не проблема, так как вы хотите, чтобы ее размер был ограничен, чтобы вы могли включить прокрутку. Возможно, есть решение этой конкретной проблемы, но у нас не было времени для расследования. Мы только что привлекли его в качестве технического долга, поскольку на самом деле он не влияет на нас в его нынешнем виде.