В чем разница между панелью стека и панелью виртуализации в WPF?

В чем разница между панелью стека и панелью виртуализации в WPF?

2 ответа

Решение

VirtualizingStackPanel может предложить преимущества производительности при работе с очень большими коллекциями. Это достигается путем рендеринга и обработки только подмножества данных, которые видны пользователю, и обработки всего списка данных. Создавая только элементы пользовательского интерфейса для видимых элементов, это может значительно сократить объем выполняемой работы.

Это действительно только удобно, хотя, если

  1. Вы связываете данные элементы не-пользовательского интерфейса или элементы, для которых пользовательский интерфейс должен быть создан в конкретной панели
  2. Вы связываете много данных

С другой стороны, StackPanel создаст элементы управления для всех элементов, содержащихся в StackPanel.

Страница MSDN VirtualizingStackPanel достойно обсуждается: http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx

Это связано с визуальным деревом. Virtualizingstackpanel работает с такими вещами, как списки и т. Д., Чтобы уменьшить размер визуального дерева, отображая только видимые элементы - это полезно, когда происходит привязка данных.

Другие вопросы по тегам