XAML 从左到右,从上到下列出内容

XAML List conent from left to right, top to bottom

我正在使用 WPF 用户控件和绑定到某些项目的列表视图。我想从左到右,然后从上到下显示列表视图中的项目。

到目前为止,我已经尝试将代码放在 ItemPanel 中的 WrapPanel 中,但这只会将项目水平排成一行!

        <ListView Height="421" Width="500" x:Name="ReportsListBox" ItemTemplate="{DynamicResource ReportsTemplate}" VerticalContentAlignment="Center" MaxWidth="500">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Horizontal"/>   
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
    </ListView>

有人知道我该怎么做吗?我已经在互联网上搜索了这个,但找不到太多...

谢谢

您似乎已经知道,WrapPanelOrientation 水平将从左到右显示项目,直到达到其容器的最大水平尺寸,此时它将换行到下一行。

不确定这是否是您遇到的问题,但是 ListView 内置了 ScrollViewer。因此,您的 WrapPanel 将永远不会达到最大水平尺寸,如果它的容器,因为 ScrollViewer 总是允许更多 space.

尝试这样的事情:

<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled">

  ...

</ListView>

禁用水平滚动后,WrapPanel 将能够达到容器的最大宽度并按预期换行。

这有帮助吗?