Skip to main content
Version: 11.0.x


The UniformGrid divides the available space evenly in both directions, into cells. You can specify how many divisions to use, and these can be different in either direction.

You can then allocate child controls to the cells created, using attached row and column index properties (zero-based).

Useful Properties

You will probably use these properties most often:

RowsInteger. Sets the number of equal rows in the height.
ColumnsInteger. Sets the number of equal columns in the width
Grid.ColumnAttached to a child control to set its column index.
Grid.RowAttached to a child control to set its row index.


<UniformGrid Rows="1" Columns="3" Width="300" Height="200">
<Rectangle Fill="navy" Grid.Column="0" Grid.Row="0"/>
<Rectangle Fill="white" Grid.Column="1" Grid.Row="0"/>
<Rectangle Fill="red" Grid.Column="2" Grid.Row="0"/>

More Information


For the complete API documentation about this control, see here.


View the source code on GitHub UniformGrid.cs