2016-11-11 1 views
-2

У меня есть форма с двумя Grid элементами в вертикальном StackPanel. Я бы себе представить дно Grid автоматически заполнить все доступное пространство, как я хочу его, но я установил высоту на Grid строк:Как создать таблицу WPF Сетка заполнить все доступные вертикальные пространства?

<RowDefinition Height="20" /> 
<RowDefinition Height="*" /> 
<RowDefinition Height="25" /> 

Краткого строки в верхней и нижней части предназначены для этикеток и кнопок , соответственно. Я попытался установить сетку VerticallAllignment на Stretch, но безрезультатно.

Как привязать нижнюю часть нижней сетки к нижней части формы, независимо от высоты формы?

+2

Вертикальная StackPanel никогда не изменяет размер своих детей по вертикали. Вместо этого используйте внешнюю сетку с двумя строками или DockPanel. – Clemens

ответ

1

По существу, вы не можете использовать StackPanel, чтобы заполнить все доступные вертикальные пространства.

Но вы можете использовать DockPanel:

<DockPanel LastChildFill="True"> 
    <Grid DockPanel.Dock="Top"/> 
    <Grid /> 
</DockPanel> 

Вы также можете использовать сетку:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <Grid Grid.Row="0"/> 
    <Grid Grid.Row="1"/> 
</Grid> 
+0

'LastChildFill =" True "' является значением по умолчанию, поэтому нет необходимости его явно указывать. – Clemens

Смежные вопросы