1

在用户控件中,我有:

<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>

我希望最后一个标签会填充停靠面板/网格中的可用垂直空间,因为LastChildFill="True". 然而,它的高度是 10 的默认“自动”,它不会填充。
最后一个标签不响应 DockPanel.Dock ,我认为这是可以的,并且是LastChildFill="True".

我该怎么做才能使高度填充剩余的高度?

4

1 回答 1

6

最后一个标签填充以适应 DockPanel 中的剩余空间;但是,问题是您的 DockPanel 目前只占用其子项所需的空间。

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

于 2013-10-30T21:44:16.283 回答