我的问题很简单,
我有一个停靠面板,我使用此代码以编程方式填充按钮
for(int i = 0 ; i< 5 ; i++)
{
Button btn = new Button();
btn.Content = "test";
btn.Height = Double.NaN;
DockPanel.SetDock(btn, Dock.Top);
dock1.Children.Add(btn);
}
填写此停靠栏
<DockPanel x:Name="dock1" Grid.Column="1" Background="LightSkyBlue" >
如果我将LastChildFill设置为False
这是结果: -
如果我将LastChildFill设置为True
这是结果: -
我想要的是这些按钮用于填充具有相同高度的停靠栏并完全填充面板区域
像这样: -
答案 0 :(得分:3)
您可能会将UniformGrid
与1列一起使用,这样可以统一分配空间和大小
示例代码
<UniformGrid Columns="1" Margin="10,0">
<Button Height="25" Content="Motor gas 1:35 %"/>
<Button Height="25" Content="Motor gas 2:36 %"/>
<Button Height="25" Content="Motor gas 3:36 %"/>
<Button Height="25" Content="Motor Air:200 %"/>
</UniformGrid>
结果
这是上面示例的代码隐藏方法
XAML
<UniformGrid Columns="1" Margin="10,0" x:Name="uGrid1" Grid.Column="1" />
码
for(int i = 0 ; i< 5 ; i++)
{
Button btn = new Button();
btn.Content = "test";
btn.Height = 25;
uGrid1.Children.Add(btn);
}