如何清除Grid控件指定子元素?仅删除Button保留TextBlock
当然可行啦!有两种常见的方式可以实现你的需求,我给你一一说明:
方式一:删除Grid中所有Button类型的子元素
如果你想清除Grid里所有的Button(不管是不是你刚创建的那个),可以先把Children集合里的Button筛选出来,转成List之后再遍历删除——直接遍历原集合删除会触发异常,因为集合在遍历过程中不能被修改。代码如下:using System.Linq; // 需要引入Linq命名空间 // 筛选出所有Button并转成List var buttonsToRemove = ctGdLanguage.Children.OfType<Button>().ToList(); foreach (var btn in buttonsToRemove) { ctGdLanguage.Children.Remove(btn); }方式二:删除你创建的那个特定Button
因为你还持有创建时的Button实例引用b,如果只是要删掉这个特定的按钮,直接调用Remove方法就行,这是最直接高效的方式:ctGdLanguage.Children.Remove(b);
需要注意的是,第一种方式依赖Linq,所以要确保代码文件顶部引入了System.Linq命名空间;第二种方式只适用于你还能访问到目标Button实例的场景。
内容的提问来源于stack exchange,提问作者james james
相关产品推荐
相关产品推荐

