如何使UniformGrid在垂直方向上对齐

18

我正在使用UniformGrid,它使得项目水平显示。有没有办法让它垂直显示?

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <UniformGrid Columns="3" />
    </ItemsPanelTemplate>
</ListView.ItemsPanel>
任何帮助都将不胜感激。

你指的是 <UniformGrid Rows="3" /> - D J
3个回答

20

WPF的UniformGrid布局仅水平排列,例如:

1 2 3
4 5 6
7 8 9

或者你可以使用WrapPanel,并将ItemHeightItemWidth设置为所需的网格大小,将Orientation设置为Orientation.Vertical

或者你可以创建一个派生的UniformGrid来处理Orientation,这里有一个很好的例子在MSDN上

这个会显示:

1 4 7
2 5 8
3 6 9

这是你的意思吗?


链接中的第一个源代码可以正常工作并实现您想要的功能,更新后的源代码则不行,请使用第一个。 - user1623454

8
我可能来晚了,但对于其他正在寻找解决方案的人,以下内容有效。
<UniformGrid Columns="1" />

如果我们想要一个没有指定列/行的自由形式网格怎么办? - Azaz ul Haq

0

虽然我来晚了一点,但为了记录:

我刚开始学习xaml,今天遇到了这个问题。为了简单起见,我最终将单列UniformGrid包装在多列、单行UniformGrid中:

<UniformGrid Columns="3">
    <UniformGrid Columns="1">
        <!--multiple child elements-->
    </UniformGrid>
    <UniformGrid Columns="1">
        <!--multiple child elements-->
    </UniformGrid>
    <UniformGrid Columns="1">
        <!--multiple child elements-->
    </UniformGrid>
</UniformGrid>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接