我建议适合您的情况的布局是使用 Grids 来构建您的面板以获得自动调整中心部分的大小并使用 StackPanels 将按钮分组在一起。
作为一般规则,我建议使用 Grids 和 DockPanels 来构建布局骨架。网格的列和行大小上的 * 选项非常方便,可以提供不会因窗口大小调整而受到影响的布局。
这是您的布局的 WPF 再现的快速预览。
这是我用来获取此布局的 XAML(我删除了按钮)
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="24"/>
<RowDefinition Height="*"/>
<RowDefinition Height="24"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Background="LightPink">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Hello World"/>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<!-- Top Right Button Panel -->
</StackPanel>
</Grid>
<Grid Grid.Row="1" Background="LightBlue"/>
<Grid Grid.Row="2" Background="LightGray">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Hello World"/>
<StackPanel Grid.Column="1" Orientation="Vertical">
<!-- Left Button Panel -->
</StackPanel>
</Grid>
<Grid Grid.Row="4" Background="LightPink"/>
</Grid>