如何在ListView中的两列中显示项目

Jim*_*eil 6 wpf xaml windows-8.1

我正在寻找在Windows 8.1应用程序中布局ListView,以便其元素包装到(最多)两列,这些列按顺序读取,如报纸和垂直滚动,例如,

1 4
2 5
3
Run Code Online (Sandbox Code Playgroud)

我最接近的是:

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <WrapGrid Orientation="Horizontal" MaximumRowsOrColumns="2" />
    </ItemsPanelTemplate>
</ListView.ItemsPanel>
Run Code Online (Sandbox Code Playgroud)

但由于MaximumRowsAndColumnsOrientation解释,结果是

1 2
3 4
5
Run Code Online (Sandbox Code Playgroud)

Orientation切换为Vertical给了我

1 2 3
4 5
Run Code Online (Sandbox Code Playgroud)

我需要一个自定义面板来执行此操作吗?另一种策略可能是滚动浏览器中的网格视图,但这对我来说似乎有点笨拙.

Abd*_*reh 1

您应该使用ItemsWrapGrid

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <ItemsWrapGrid />
    </ItemsPanelTemplate>
</ListView.ItemsPanel>
Run Code Online (Sandbox Code Playgroud)

这会给你你想要的结果:

1 4
2 5
3
Run Code Online (Sandbox Code Playgroud)