如何垂直制作匀格

时间:2012-12-19 01:33:35

标签: wpf xaml listview itemspanel uniformgrid

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

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <UniformGrid Columns="3" />
    </ItemsPanelTemplate>
</ListView.ItemsPanel>

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:17)

WPF UniformGrid布局仅为水平,例如:

1 2 3
4 5 6
7 8 9

也许您可以使用WrapPanel而只需将ItemHeightItemWidth设置为所需的网格大小,并将Orientation设置为Orientation.Vertical。< / p>

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

这个将显示:

1 4 7
2 5 8
3 6 9

这是你的意思吗?

答案 1 :(得分:5)

我参加派对有点晚了 - 但是对于其他寻求解决方案的人来说,以下方法都有效。

Sub Cut()

Dim i As Integer
For i = 1 To 14000
  Col = Columns(i).Select

  Range("N2:N31").Offset(, i).Select
  Selection.Cut

  Range("H2").End(xlDown).Offset(1).Row.Select
  ActiveSheet.Paste

Next i

End Sub

答案 2 :(得分:0)

我晚些聚会,但为了后代:

我只是从xaml开始,今天遇到了这个问题。为简单起见,我最终将单列UniformGrids包装在多列单行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>