如何根据名称删除标签/按钮?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" + 计数器);不正确,但希望它能告诉我如何希望它发生。

如何根据名称删除标签/按钮?WPF Visual Studio 2015.

可以首先使用 LINQ Where 表达式获取子元素:

var child = grid.Children.OfType<Control>().Where(x => x.Name == "btn" + counter).First();

然后打电话给Remove

grid.Children.Remove(child);