DockPanel中的LastChildFill不适用于高度

Ger*_*ard 0 wpf layout xaml dockpanel

在UserControl我有:

<Grid>
        <DockPanel Grid.Column="0"
                   LastChildFill="True">
            <Label x:Name="ProductName"
                   HorizontalAlignment="Stretch"
                   DockPanel.Dock="Top"
                   Background="Red"
                   Height="60" />
            <Label x:Name="Versie"
                   HorizontalAlignment="Stretch"
                   DockPanel.Dock="Top"
                   Background="Green"
                   Height="20" />
            <Label x:Name="Copyright"
                   HorizontalAlignment="Stretch"
                   DockPanel.Dock="Top"
                   Background="Blue"
                   Height="20" />
            <Label x:Name="Company"
                   HorizontalAlignment="Stretch"
                   DockPanel.Dock="Top"
                   Background="Yellow"
                   Height="20" />
            <Label x:Name="Omschrijving"
                   HorizontalAlignment="Stretch"
                   **--> Answer: add this: VerticalAlignment="Stretch"**
                   Background="Tomato"/>
        </DockPanel>
    </Grid>
Run Code Online (Sandbox Code Playgroud)

我预计最后一个标签会填充dockpanel/grid中的可用垂直空间,因为LastChildFill="True".然而它的高度是10的默认"自动",它不会填充.
最后一个标签不响应DockPanel.Dock,我认为这是好的,结果是LastChildFill="True".

我该怎么做才能让高度填满剩余的高度?

Adi*_*ter 5

最后一个标签填充以适合DockPanel中的剩余空间; 但问题是你的DockPanel目前只占用其子节点所需的空间.

如果主网格有空间VerticalAlignment="Stretch"可供使用,则DockPanel中的设置将拉伸DockPanel以占用它可以占用的所有垂直空间,最后一个标签将依次执行此操作.