繁体   English   中英

在运行时期间向GroupBox添加控件

[英]Adding controls to GroupBox during runtime

我正在尝试创建一个GroupBox,向它添加一个Grid(或StackPanel),然后在运行时添加一些TextBlocks。 这就是我尝试过的

GroupBox groupBox1 = new GroupBox();
Grid grid1 = new Grid();

groupBox1.Width = 85;
groupBox1.Height = 60;
grid1.Height =  85;
grid1.Width =  60;

groupBox1.Content = grid1.Children.Add(textBlock1);
groupBox1.Margin = new Thickness(50, 50, 0, 0);

mainWindow.canvas.Children.Add(groupBox1);

但我得到的只是一个带有厚白色边框的组合框,里面没有任何东西。

据我所知,Grid.Children.Add返回一个int ,而不是你想要将groupBox1的内容设置为。

我作为非WPF专家的一个未经测试的想法是将网格设置为您的组框的内容。

grid1.Children.Add(textBlock1);
groupBox1.Content = grid1;

对于简单的复选框,我使用了以下代码:

var container = new FlowLayoutPanel
{
     FlowDirection = FlowDirection.TopDown,
     Dock = DockStyle.Fill
 };
 myGroupBox.Controls.Add(container);
 foreach (var myText in textList)
 {
     var checkBox = new CheckBox
     {
         Text = myText

     };
     container.Controls.Add(checkBox);
 }

当然foreach语句仅用于示例:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM