philkark
philkark

Reputation: 2457

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).

Upvotes: 0

Views: 17637

Answers (2)

MMK
MMK

Reputation: 3721

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);

Upvotes: 2

Mark Hall
Mark Hall

Reputation: 54532

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.

Upvotes: 0

Related Questions