Подтвердить что ты не робот

Понимание единообразного управления сеткой

Я просто пытался создать единую сетку, как она работает.

Код:

<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>

Я обнаружил, что обе кнопки расположены рядом друг с другом, однако между ними существует столбец. Почему это так? (как в единой сетке, каждая ячейка имеет одинаковый размер, между ними должна быть одна ячейка)

Понял, почему это так (по ответам), но все же интересно узнать, какое значение Attached property - Grid.Row и Grid.Column, если они ничего не делают???

4b9b3361

Ответ 1

UniformGrid содержит два свойства: строки и столбцы для установки количества строк и столбцов. Элементы управления добавляются в сетку в том порядке, в котором они объявлены. Таким образом, между ними не будет никакой колонки. В вашем примере вы объявили Columns = 3, и вы добавили только два элемента управления. Но если вы добавите еще один элемент управления, он поместится в конце.

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

Ответ 2

Как показано в статье MSDN для UniformGrid, нет прикрепленного свойства Grid.Row или Grid.Column.

Вместо этого Intellisense может предлагать это, потому что у вас есть Grid дальше по дереву документов. Если бы это было вложенное свойство, его было бы гораздо более правдоподобно называть UniformGrid.Row, так как к нему можно получить доступ к связанным свойствам.