Understanding Uniform Grid control

我只是一个虾纸丫 提交于 2019-11-29 01:47:49

问题


I was just trying uniform grid, how it works.

Code :

<UniformGrid Name="uniformGrid1" Rows="2" Columns="3">
        <Button Content="Rohit" Grid.Row="0" Grid.Column="0" />
        <Button Content="asit" Grid.Row="0" Grid.Column="2" />
</UniformGrid>

I found that both buttons are placed adjacent to each other, however there exist a column between them. Why is it so ? (as in uniform grid, each cell has similar size there should be one cell between them)

Understood why it is so (by answer) but still curious to konw what's the significance of Attached property - Grid.Row & Grid.Column if they do nothing ???


回答1:


UniformGrid contains two properties, Rows and Columns, for setting the number of rows and columns. Controls are added to the grid in the order that they are declared. So there will not be any column in between them. In your example you have declared Columns=3 and you have added only two controls. But if you add another control it will place in the end.

  <UniformGrid Name="uniformGrid1"
                 Rows="2"
                 Columns="3">
        <Button Content="Rohit"
                 Margin="2" />
        <Button Content="asit"
                 Margin="2" />
        <Button Content="asit"
                Margin="2" />
    </UniformGrid>



回答2:


As shown in the MSDN article for a UniformGrid, there is no Grid.Row or Grid.Column attached property.

Instead, Intellisense may be suggesting it because you have a Grid further up the document tree. If it were an attached property, it would be far more likely to be called UniformGrid.Row as that is how attached properties are accessed.



来源:https://stackoverflow.com/questions/6197646/understanding-uniform-grid-control

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!