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>
有人知道我该怎么做吗?我已经在互联网上搜索了这个,但找不到太多...
谢谢
您似乎已经知道,WrapPanel
的 Orientation
水平将从左到右显示项目,直到达到其容器的最大水平尺寸,此时它将换行到下一行。
不确定这是否是您遇到的问题,但是 ListView
内置了 ScrollViewer
。因此,您的 WrapPanel
将永远不会达到最大水平尺寸,如果它的容器,因为 ScrollViewer
总是允许更多 space.
尝试这样的事情:
<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled">
...
</ListView>
禁用水平滚动后,WrapPanel
将能够达到容器的最大宽度并按预期换行。
这有帮助吗?
我正在使用 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>
有人知道我该怎么做吗?我已经在互联网上搜索了这个,但找不到太多...
谢谢
您似乎已经知道,WrapPanel
的 Orientation
水平将从左到右显示项目,直到达到其容器的最大水平尺寸,此时它将换行到下一行。
不确定这是否是您遇到的问题,但是 ListView
内置了 ScrollViewer
。因此,您的 WrapPanel
将永远不会达到最大水平尺寸,如果它的容器,因为 ScrollViewer
总是允许更多 space.
尝试这样的事情:
<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled">
...
</ListView>
禁用水平滚动后,WrapPanel
将能够达到容器的最大宽度并按预期换行。
这有帮助吗?