我想要一种合乎逻辑且简单的方法来生成布局,其中一个控件集填充,其余控件集停靠。我可以使用:
<DockPanel LastChildFill="True">
<Button Content="3" DockPanel.Dock="Bottom" />
<Button Content="2" DockPanel.Dock="Bottom" />
<Button Content="1" />
</DockPanel>
但是使用起来不是很直观。我也可以这样做:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button Content="1" Grid.Row="0" />
<Button Content="2" Grid.Row="1" />
<Button Content="3" Grid.Row="2" />
</Grid>
但它也相当多的xaml。我真正想要的是这样的:
<StackPanel Fill="None|First|Last">
<Button Content="1" />
<Button Content="2" />
<Button Content="3" />
</StackPanel>
如何在不必像 DockPanel 那样反转项目并且不像 Grid 那样使用固定数量的行和附加属性的情况下实现这一点?