WPF在具有MaxHeight的VerticalAlign拉伸上停靠到顶部

时间:2011-04-03 01:24:02

标签: wpf xaml

我正在寻找一种结合VerticalAlign="Stretch"VerticalAlign="Top"的行为。请注意以下标记:

<Border BorderThickness="2" BorderBrush="Black" MaxHeight="200">
    ...
</Border>

这是我的意图,直到Border的容器变得超过200高。在这一点上,边界变得高达200,并将自己置于其容器中。

我无法用DockPanel.Dock =“Top”将它包装在DockPanel中。我也无法将其容器设置为VerticalAlign =“Top”。原因是这两个导致Border不再垂直扩展以填充容器可用空间(最多200个)。

因此,为了解决这个问题,必须进行以下操作:

  • 边框必须展开才能填充其父级可用空间,直至达到其MaxHeight。
  • 边框的上边缘必须符合其父母的上边缘。
  • 边框不一定是<Border>

1 个答案:

答案 0 :(得分:2)

瞧:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition MaxHeight="200"  />
        <RowDefinition Height="auto" />
    </Grid.RowDefinitions>
    <Border Background="Yellow" />
</Grid>