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

Wpf 如何在ListView中显示两列中的项目,wpf,xaml,windows-8.1,Wpf,Xaml,Windows 8.1,我希望在Windows 8.1应用程序中布局ListView,使其元素(最多)包装为两列,按顺序阅读,如报纸和垂直滚动,例如 1 4 2 5 3 我得到的最接近的结果是: <ListView.ItemsPanel> <ItemsPanelTemplate> <WrapGrid Orientation="Horizontal" MaximumRowsOrColumns="2" /> </ItemsPanelTemplate

我希望在Windows 8.1应用程序中布局ListView,使其元素(最多)包装为两列,按顺序阅读,如报纸和垂直滚动,例如

1 4
2 5
3
我得到的最接近的结果是:

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <WrapGrid Orientation="Horizontal" MaximumRowsOrColumns="2" />
    </ItemsPanelTemplate>
</ListView.ItemsPanel>
切换到垂直方向会让我

1 2 3
4 5
我是否需要一个自定义面板来执行此操作?另一种策略可能是在scrollviewer中使用gridview,但我觉得这有点不方便。

您应该使用:


我认为保持这种方式是明智的,因为如果你根据自己的需要安排新闻文章,这将意味着一篇最新的文章(如3)可能会出现在页面底部,而一篇旧文章可能会出现(如4/5)。。因此,用户将阅读较旧的文章,而不是最新的文章。但在某些情况下,我们会想做你需要的事情,因此我投你一票!这是一个很好的观点。。我这里没有临时排序要求,但如果出现这样的情况,这将是一个非常有力的理由,可以让它保持原样(当然,这也是它开箱即用的方式,因此用户希望与其他应用程序保持一致),因为我失去了垂直滚动功能。。。可能有十行,每行两个项目,而一次只能显示三行,我想垂直滚动以查看其他七行。据我所知,ItemsPanelTemplate将以三行环绕,布局类似于gridview。
1 2 3
4 5
<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <ItemsWrapGrid />
    </ItemsPanelTemplate>
</ListView.ItemsPanel>
1 4
2 5
3