3 つの行を持つ Grid と、最初の 2 つの行の間に GridSplitter があります。3 行目にはボタンが含まれています。GridSplitter をウィンドウの中央または下部にドラッグすると、すべてが適切にサイズ変更されます。GridSplitter をウィンドウの上部にドラッグすると、2 行目のサイズが正しく変更されず、3 行目が途切れます。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:clr="clr-namespace:System;assembly=mscorlib"
Width="300" MinHeight="300" >
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition MinHeight="130" />
<RowDefinition MinHeight="50" />
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Rectangle Grid.Row="0" Fill="Aquamarine"/>
<GridSplitter Grid.Row="0" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="5" />
<ScrollViewer Grid.Row="1" >
<Rectangle Height="500" Fill="Orange"/>
</ScrollViewer>
<Button Grid.Row="2" Content="Close" Width="70" HorizontalAlignment="Right" Margin="5" Click="Close_Click"/>
</Grid>
</Window>