如何根据名称删除标签/按钮?WPF Visual Studio 2015.
本文关键字:按钮 WPF Visual 2015 Studio 标签 何根 删除 | 更新日期: 2023-09-27 18:32:01
我正在尝试根据它们的名称删除标签和按钮,但不幸的是,删除它们的选项(我知道)是通过Children.Move,它只接受实际的标签/按钮本身,而不是他们的名字。我需要这个名字,因为它是确定哪个 X 按钮属于谁的名字。
Label labels;
Button buttons;
int counter;
private void button_Copy_Click(object sender, RoutedEventArgs e)
{
counter++;
Label lbl = new Label();
lbl.Content = counter.ToString();
lbl.HorizontalAlignment = HorizontalAlignment.Center;
lbl.VerticalAlignment = VerticalAlignment.Center;
lbl.FontSize = 50;
lbl.Name = "lbl" + counter;
labels = lbl;
Button bt = new Button();
bt.Content = "X";
bt.HorizontalAlignment = HorizontalAlignment.Right;
bt.VerticalAlignment = VerticalAlignment.Top;
bt.Name = "btn" + counter;
buttons = bt;
bt.Click += Button_Click;
grid.Children.Add(lbl);
grid.Children.Add(bt);
}
private void Button_Click(object sender, EventArgs e)
{
grid.Children.Remove(labels.Name = "btn" + counter);
grid.Children.Remove(buttons);
}
网格。儿童.删除(标签。名称 = "btn" + 计数器);不正确,但希望它能告诉我如何希望它发生。
可以首先使用 LINQ Where
表达式获取子元素:
var child = grid.Children.OfType<Control>().Where(x => x.Name == "btn" + counter).First();
然后打电话给Remove
:
grid.Children.Remove(child);