![](/img/trans.png)
[英]How to remove previously updated UIElement on grid row to add new UIElement?
[英]How can I remove Child UIElement from a Grid by lambda?
这是XAML:
<Grid x:Name="G">
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="0"></CheckBox>
<CheckBox Grid.Column="1" IsChecked="True"></CheckBox>
<CheckBox Grid.Column="2" IsChecked="True"></CheckBox>
<CheckBox Grid.Column="3"></CheckBox>
</Grid>
我想删除IsChecked
为true的Grid
中的所有CheckBox
。
所以我写了这样的代码:
var RemoveList=G.Children.OfType<CheckBox>().Where(Child => Child.IsChecked == true);
foreach (CheckBox CB in RemoveList.ToList())
{
G.Children.Remove(CB);
}
我认为我的代码对于var RemoveList
是多余的,必须将其更改为List。
我想找到一种方法,仅通过一行代码删除UIElement,就可以使我更多地了解Lambda。
有什么办法吗? 谢谢。
G.Children
.OfType<CheckBox>()
.Where(child => child.IsChecked == true)
.ToList()
.ForEach(child => G.Children.Remove(child));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.