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

时间:2015-01-21 21:24:50

标签: wpf xaml listview layout wpf-controls

我正在使用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>

任何人都知道我应该做什么?我在互联网上搜索过这个,但找不到多少......

由于

1 个答案:

答案 0 :(得分:1)

如您所知,WrapPanel水平Orientation将从左到右显示项目,直到达到其容器的最大水平尺寸,此时它将换行到下一行。

不确定这是否是您所看到的问题,但ListView内置了ScrollViewer。因此,如果WrapPanel的容器永远不会达到最大水平尺寸,因为ScrollViewer将始终允许更多空间。

尝试这样的事情:

<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled">

  ...

</ListView>

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

这有帮助吗?