MSDN :
Столбцы и строки, участвующие в совместном использовании размера, не учитывают размер звезды.В сценарии с разделением по размерам размер звездочки рассматривается как Авто
Если вы используете звездочку, тогда все столбцы будут иметь одинаковую ширину, поэтому вам следует назначить одинаковые SharedSizeGroup
всем, если вы этого не сделаетеобратите внимание на аспект автоматического определения размера:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="A"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="B"/>
<ColumnDefinition Width="*" SharedSizeGroup="StarDontWork"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="D"/>
<ColumnDefinition MinWidth="30" Width="*" SharedSizeGroup="StarDontWork"/>
<ColumnDefinition MinWidth="30" Width="*" SharedSizeGroup="StarDontWork"/>
<ColumnDefinition Width="110" SharedSizeGroup="G"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="H"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="I"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="J"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="K"/>
<ColumnDefinition MinWidth="30" Width="Auto" SharedSizeGroup="L"/>
</Grid.ColumnDefinitions>
(Из этого поведения также следует, что вы можете удалить свойство Width
, когда установлено SharedSizeGroup
)
Вы можетесделайте вывод, что если все столбцы с автоматическими размерами находятся в группах общего размера, то все столбцы с размерами звездочек будут иметь одинаковые размеры, так как у каждой сетки в области останется то же количество неиспользуемого пространства, которое будет распределено по столбцам звездного размера.1018 *
Простой пример:
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A"/>
<ColumnDefinition SharedSizeGroup="B" Width="*"/>
<ColumnDefinition SharedSizeGroup="C"/>
</Grid.ColumnDefinitions>
Как объяснено, Width="*"
ничего не сделает, но поскольку синхронизируются столбцы 0
и 2
, столбец 1
должен быть синхронизировантак что вы можете просто сбросить SharedSizeGroup
:
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition SharedSizeGroup="C"/>
</Grid.ColumnDefinitions>