我正在使用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>
任何人都知道我应该做什么?我在互联网上搜索过这个,但找不到多少......
由于
答案 0 :(得分:1)
如您所知,WrapPanel
水平Orientation
将从左到右显示项目,直到达到其容器的最大水平尺寸,此时它将换行到下一行。
不确定这是否是您所看到的问题,但ListView
内置了ScrollViewer
。因此,如果WrapPanel
的容器永远不会达到最大水平尺寸,因为ScrollViewer
将始终允许更多空间。
尝试这样的事情:
<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled">
...
</ListView>
禁用水平滚动后,WrapPanel
将能够达到容器的最大宽度,并按预期进行换行。
这有帮助吗?