简体   繁体   中英

Add Controls to GroupBox which was created dynamically

I add GroupBoxes to an ItemsControl dynamically using:

string name_ = "TestName", header_ = "TestHeader"
GroupBox MyGroupBox = new GroupBox { Name = name_, Header= header_, Width = 240, Height = 150, Foreground=new SolidColorBrush(Color.FromArgb(255, 0, 0, 0)) };

MyItemsControl.Items.Add(MyGroupBox);

Now I need to add content to this GroupBox, like a few TextBlocks created like:

TextBlock MyTextBlock = new TextBlock {Text = "test"};

But I can't figure out how to do that. Normally to a Grid or something like that I would just use .Children.Add(MyTextBlock), but that doesn't work here.

Also I have to be able to remove specific Items from the ItemsControl again (best would be by the name of the Item, name_ in this example).

Try something like that

GroupBox groupBox1 = new GroupBox();
Grid grid1 = new Grid();
TextBlock MyTextBlock = new TextBlock {Text = "test"};
groupBox1.Width = 185;
groupBox1.Height = 160;
grid1.Height =  185;
grid1.Width =  160;
grid1.Children.Add(MyTextBlock);
groupBox1.Content = grid1;
mainWindow.canvas.Children.Add(groupBox1);

The GroupBox has only a Content Property which is designed to hold a ContentPresentor. You can add a Grid/Canvas etc.. to the GroupBox and then add your content to that.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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