WPF:如何删除动态创建的文本框

时间:2013-07-24 18:49:28

标签: c# wpf

我正在创建多个文本框,我想知道自从我动态创建这些文本框后如何删除它们甚至更新它们?

例如在代码中

TextBox tb = new TextBox();
tb.Name = "Temp"

如何删除或更新文本框Temp

我无法调用Temp.Text = "Test"

此外,我无权访问tb.Text。我创建了一堆文本框,并用数字textbox_1命名。单击某个按钮时,我想更新单击的文本框。

2 个答案:

答案 0 :(得分:4)

您可以使用Name从容器中找到该文本框,如:

TextBox tb = (TextBox) this.someStackPanel.FindName("Temp");

然后再

tb.Text = "Test";

要删除它,您可以执行以下操作:

//First find the TextBox
TextBox tb = (TextBox) this.someStackPanel.FindName("Temp");
//Then remove it 
this.someStackPanel.Children.Remove(tb);

答案 1 :(得分:1)

您需要致电

parent.RegisterName("Temp", tb);
在创建TextBox以注册名称后,在父级上

如果要查找TextBox,请调用

TextBox tb = (TextBox) parent.FindName("Temp")

获取TextBox。