假设我有网格:
Grid ctGdLanguag
我添加了按钮子项。
TextBlock t = new TextBlock();
Button b = new Button();
ctGdLanguage.Children.Add(b);
ctGdLanguage.Children.Add(t);
我知道方法:
ctGdLanguage.Children.Clear()
清除ctGbLanguage
网格的所有子项。
但我的问题是,是否可以只删除按钮子项?
我想离开TextBlock
孩子并清除按钮是否可能?
答案 0 :(得分:0)
如果您知道特定元素名称,则可以使用Remove()方法
TextBlock t = new TextBlock();
Button b = new Button();
ctGdLanguage.Children.Add(b);
ctGdLanguage.Children.Add(t);
ctGdLanguage.Children.Remove(b);
答案 1 :(得分:0)
使用一些简单的LINQ就足够了:
var buttons = ctGdLanguag.Children.OfType<Button>().ToList();
foreach (var button in buttons)
ctGdLanguag.Children.Remove(button);
OfType<Button>()
仅包含Button
类型的子项(或子类型)。
ToList()
将按钮复制到一个单独的列表中,这样您就可以在修改网格的Children
集合时对其进行迭代。