Что означает Rowdefinition Height= " 10*"в сетке XAML?
Я использую Height="* " немного, чтобы означать, что высота последней строки должна заполнить нижнюю часть сетки.
но что значит" 10*"?
<Grid Name="mainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="40" />
<RowDefinition Height="10*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
</Grid>
3 ответа:
выше
"*"
является сокращением для"1*"
. Это соотношение, так что если у вас есть две строки, одна с"*"
и с"10*"
, первый получает 1 / 11th из доступных и последний получает 10 / 11th пространства."10*"
ненужно -"*"
имело бы больше смысла, потому что есть только одна строка, использующая размер на основе соотношения, поэтому любое соотношение будет равняться 100% доступного пространства.
Я нашел информацию ниже от Christian Mosers, чтобы быть полезным, так как авто и фиксированные размеры на других строках ячеек или столбцах будут влиять на поведение * size. См.http://wpftutorial.net/GridLayout.html
основные Фиксированный размер логических блоков (1/96 дюйма)
авто Занимает столько места, сколько необходимо для содержащегося элемента управления
Звезда(*) Занимает как можно больше места как доступный (после заполнять все автоматические и фикчированные определенные размер колонки), пропорционально разделенный над всеми звезд-определенными размер колонками. Так что 3*/5* означает то же самое, что и 30*/50*. Помните, что звездный размер не работает, если размер сетки рассчитывается на основе ее содержимого.
<Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="28" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="200" /> </Grid.ColumnDefinitions> </Grid>