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