Можете ли вы что-то нарисовать и опубликовать, какова ваша цель?
Я не уверен в желаемом результате.
Все, что я могу видеть и сказать, это то, что ваши предметы не находятся в сетки. Вы закрываете </Grid>
слишком рано: закройте сетку чуть выше </ScrollViewer>
. В противном случае они помещаются в первую сетку, которая содержит только 2 столбца и не содержит определений строк (поэтому просто 1). Это приводит к тому, что кнопки расположены друг над другом. Последний является видимым. Ваша вторая таблица не содержит никаких ожидаемых определений столбцов и строк, но имеет 0 дочерних элементов, поэтому она бесполезна.
Вам не нужно устанавливать Grid.Column = 0 или Grid.ColumnSpan = 0, потому что это значение по умолчанию. ценность. Если вы добавите что-то, если второй столбец: Grid.Column = 1 (индекс на основе 0), и есть только 2 столбца, Grid.ColumSpan = 2 не имеет смысла, потому что 1 (индекс столбца) +2 (столбец брать) = 3 столбца необходимо, когда у вас есть только один.
Сказав это, убедитесь, что для ваших кнопок установлены HorizontalAlignment и VerticalAlignment на Stretch, чтобы заполнить пространство.
Вы можете создать неявный стиль или явный для разложите дублированный код на каждую кнопку.