Question

I'm using UniformGrid and it's making the items display horizontally. Is there a way to make it display vertically?

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

Any help would be greatly appreciated.

Était-ce utile?

La solution

The WPF UniformGrid layout is horizontal only, e.g.:

1 2 3
4 5 6
7 8 9

Perhaps you could use a WrapPanel instead and just set the ItemHeight and ItemWidth to your desired grid size and set the Orientation to Orientation.Vertical.

Or you could create a derived UniformGrid to handle Orientation, there is a good example on MSDN.

This one will display:

1 4 7
2 5 8
3 6 9

Is this what you mean?

Autres conseils

I'm a bit late to the party - but for anyone else searching for a solution, the following works.

<UniformGrid Columns="1" />

I'm a bit latER to the party, but for posterity's sake:

I'm just starting out with xaml and came across this problem today. For simplicity's sake, I ended up wrapping single-column UniformGrids in a multi-column, single-row 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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top