ListBox WPF- VirtualizingStackPanel有两行,如wrappanel

时间:2013-10-21 12:28:44

标签: wpf row stackpanel virtualizingstackpanel

我的listBox:

<ListBox VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling" Name="lst" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" Margin="0,0,0,-23">
...
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
          <WrapPanel/>
    </ItemsPanelTemplate>
</ListBox.ItemsPanel>

我需要相同,但使用VirtualizingStackPanel。如果我使用VirtualizingStackPanel更改WrapPanel,则在我有许多行之前,项目仅显示在一行中。 我需要帮助。

1 个答案:

答案 0 :(得分:-1)

您需要将ItemsPanelTemplate设置为VirtualStackPanel,并将Orientation设置为Vertical

<ListBox.ItemsPanel>
    <ItemsPanelTemplate>
        <VirtualizingStackPanel Orientation="Vertical" 
                                IsVirtualizing="True" VirtualizationMode="Recycling" />
    </ItemsPanelTemplate>
</ListBox.ItemsPanel>