多行水平ListView(WPF)

时间:2018-04-21 08:55:32

标签: wpf stackpanel file-browser horizontallist

我想实现一个水平ListView,它可以有多行,比如文件资源管理器:

enter image description here 我发现我必须使用StackPanel ItemPanelTemplate here,但我更喜欢使用多行代替水平滚动条。 我认为这个想法是当StackPanel宽度达到ListView宽度时,转到下一行/创建一个新的StackPanel 。我不知道它是否正确,但它可能有助于理解我在寻找什么。

我该如何实现呢?

2 个答案:

答案 0 :(得分:1)

您需要使用WrapPanel而不是StackPanel作为ItemsPanelTemplate

<ListView ItemsSource="{Binding xxx}">
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel />
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>

答案 1 :(得分:0)

使用 WrapPanel 并指定 width

<ListView ItemsSource="your-source">
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel width="1200" />
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>