Ответ 1
VirtualizationStackPanel может предлагать преимущества производительности при работе с очень большими коллекциями. Он делает это только с помощью рендеринга и обработки подмножества данных, видимых пользователю, и обработки всего списка данных. Создавая только элементы пользовательского интерфейса для видимых элементов, это может значительно уменьшить объем работы, которую он должен выполнить.
Это действительно удобно, но если
- Вы привязываете данные к элементам или элементам, не относящимся к пользовательскому интерфейсу, для которых пользовательский интерфейс должен быть создан на конкретной панели.
- Вы привязываете данные к большому количеству данных.
С другой стороны, StackPanel будет создавать элементы управления для всех элементов, содержащихся в StackPanel.
На странице MSDN VirtualizingStackPanel есть достойное обсуждение: http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx