WPF 列表自动换行

2019-03-13 11:35:06 浏览数 (1)

本文告诉大家如何在 ListView 或 ListBox 使用 WrapPanel 让里面的控件自动换行

在 WPF 可以通过修改 ItemsPanel 设置使用不同的 ItemsPanel 如 StackPanel 等

可以通过使用 WrapPanel 让控件,如果宽度在 ListView 或 ListBox 之外就换行

代码语言:javascript复制
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel Orientation="Horizontal"></WrapPanel>
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>

如果现在就运行代码,看到所有的控件都放在水平,没有在 ListView 自动换行

因为没有设置 ListView 不能水平移动,在 ListView 的宽度是无限,设置 ListView 的框架就是他的可见宽度可以使用下面代码

代码语言:javascript复制
ScrollViewer.HorizontalScrollBarVisibility="Disabled"

现在的 ListView 看起来大概是下面代码

代码语言:javascript复制
<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled">
  <ListView.ItemsPanel>
    <ItemsPanelTemplate>
      <WrapPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
  </ListView.ItemsPanel>
  ...
</ListView>

win10 UWP ListView


本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/WPF-列表自动换行.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。

0 人点赞