What is the difference between a stackpanel and a virtualizingstackpanel in WPF?

后端 未结 2 1859
梦毁少年i
梦毁少年i 2021-02-12 12:04

What is the difference between a stackpanel and a virtualizingstackpanel in WPF?

2条回答
  •  滥情空心
    2021-02-12 12:19

    A VirtualizingStackPanel can offer performance benefits when working with very large collections. It does so by only rendering and processing a subset of the data which is visible to the user vs. processing the entire list of data. By creating only UI elements for the visible items, this can greatly reduce the amount of work it has to do.

    This is really only handy though if

    1. You are data binding non-UI elements or elements for which UI must be created in the particular panel
    2. You are data binding a lot of data

    A StackPanel on the other hand, will up front create the controls for all elements contained within the StackPanel.

    The VirtualizingStackPanel MSDN page has a decent discussion: http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx

提交回复
热议问题