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