【问题标题】:Height of Last row in a wpf grid controlwpf网格控件中最后一行的高度
【发布时间】:2011-07-27 23:09:01
【问题描述】:

我有一个这样的网格

<Grid.RowDefinitions>
    <RowDefinition Height="Auto" MinHeight="100"/>
    <RowDefinition Height="Auto" MinHeight="100"/>
    <RowDefinition Height="Auto" MinHeight="100"/>
    <RowDefinition Height="Auto" MinHeight="100"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto" MinWidth="210" />
    <ColumnDefinition Width="Auto" MinWidth="210"/>
    <ColumnDefinition Width="Auto" MinWidth="210"/>
</Grid.ColumnDefinitions>

当我调整Grid的大小时,我发现最后一行的实际高度始终保持在100,假设里面没有控件。所以问题是即使网格高度是 450,最后一行的实际高度仍然是 100。

我知道我可以通过从 Grid 实际高度中减去其他行的高度来获得最后一行的高度。但是为什么在调整 Grid 大小时最后一行的实际高度没有更新?

【问题讨论】:

  • 我不认为Auto 是你想要的。试试*

标签: wpf grid height


【解决方案1】:

您是说最后一行应根据其中的元素确定其高度,但高度不得小于 100 像素。如果最后一行没有元素,那么如果没有 MinHeight,它通常是 0 像素高。

听起来你想用:

<RowDefinition Height="*" MinHeight="100" />

最后一行。

【讨论】:

  • 问题是如果您将高度设置为自动,那么为什么实际高度没有得到更新。
  • @user686730 - 因为如果没有控件,那么它的 ActualHeight 通常为 0。由于您添加了 100 的 MinHeight,那么 ActualHeight 将始终为 100。如果您将控件添加到如果控件需要高于 100 像素才能显示其内容,则该行的 ActualHeight 可能大于 100。
猜你喜欢
  • 2023-04-04
  • 2017-07-23
  • 2013-08-31
  • 1970-01-01
  • 2018-01-31
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 2020-10-13
相关资源
最近更新 更多