WPF在dockpanel中以相同高度制作控件,同时填充所有码头空间?
我的问题很简单 我有一个停靠面板,我使用下面的代码以编程方式用按钮填充它WPF在dockpanel中以相同高度制作控件,同时填充所有码头空间?,wpf,wpf-controls,Wpf,Wpf Controls,我的问题很简单 我有一个停靠面板,我使用下面的代码以编程方式用按钮填充它 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); } for(int i=0;i
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);
}
for(int i=0;i<5;i++)
{
按钮btn=新按钮();
btn.Content=“测试”;
btn.高度=Double.NaN;
DockPanel.SetDock(btn,Dock.Top);
dock1.Children.Add(btn);
}
填满这个码头
<DockPanel x:Name="dock1" Grid.Column="1" Background="LightSkyBlue" >
如果我将LastChildFill设置为False
结果如下:
如果我将LastChildFill设置为True
结果是:-
我想要的是这些按钮以相同的高度填充dockpanel,并完全填充面板区域
例如:
您可以使用带有一列的
UniformGrid
,这将帮助您统一分配空间和大小
示例代码
<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
代码
for(int i=0;i<5;i++)
{
按钮btn=新按钮();
btn.Content=“测试”;
btn.高度=25;
uGrid1.儿童。添加(btn);
}
您需要一个
。使用XAML来定义UI,而不是使用过程代码来创建它。而DockPanel
并不是合适的容器。使用StackPanel
并向按钮添加Margin
s。按钮创建基于DB查询,因此无法预定义@HighCore@xsari3x我从来没有说过它应该是“预定义的”。你需要学会正确使用WPF。开始阅读并跟随链接。
<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);
}