在网格中设置动态行高

问题描述

| 我有一个网格,我想要两行,这样下一行的高度为52像素,上一行的高度占用了剩余空间。例如,如果网格的高度为100像素,则上一行为48像素,下一行为52像素。 网格的高度保证至少为53像素。目前,我的XAML代码如下所示:
<Grid Height=\"{TemplateBinding Height}\">
    <Grid.RowDeFinitions>
        <RowDeFinition Height=\"*\"></RowDeFinition>
        <RowDeFinition Height=\"52\"></RowDeFinition>
    </Grid.RowDeFinitions>

    <Grid.ColumnDeFinitions>
        <ColumnDeFinition Width=\"0.5*\"></ColumnDeFinition>
        <ColumnDeFinition Width=\"0.5*\"></ColumnDeFinition>
    </Grid.ColumnDeFinitions>

    <TextBlock Grid.Row=\"0\" Grid.Column=\"0\">Upper</TextBlock>
    <TextBlock Grid.Row=\"0\" Grid.Column=\"1\">Upper</TextBlock>

    <StackPanel Grid.Row=\"1\" Grid.Column=\"0\" Background=\"#1CFFFFFF\">
        <TextBlock>Lower</TextBlock>
    </StackPanel>

    <StackPanel Grid.Row=\"1\" Grid.Column=\"1\" Background=\"#1CFFFFFF\">
        <TextBlock>Lower</TextBlock>
    </StackPanel>
</Grid>
问题在于,上排仅需要显示TextBlocks所需的amonut,而下排中的StackPanel拉伸以填充网格的高度。这是自定义控件的一部分,因此网格的高度设置为
{TemplateBinding Height}
。 而且我确实需要较低行的内容为StackPanels。 我这方面的尝试没有用: 将下部StackPanel的高度设置为52。 为StackPanel的
Orientation
参数尝试不同的值[尽管不知道为什么我这样做了]。 在第二个
RowDeFinition
上将
MaxHeight
MinHeight
设置为52。 任何帮助是极大的赞赏。     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)