如何使用lambda表达式在Grid中选中复选框

时间:2012-08-13 06:08:40

标签: c# .net linq lambda

var sel = chkGrid.Children.Cast<CheckBox>.Where(x => x.Selected);

我使用它但不起作用。

1 个答案:

答案 0 :(得分:2)

Cast是一种方法 - 您忘记了括号:

var sel = chkGrid.Children.Cast<CheckBox>().Where(x => x.Selected);

如果这不起作用,也许你的一些孩子不是CheckBoxes,在这种情况下你应该使用:

var sel = chkGrid.Children.OfType<CheckBox>().Where(x => x.Selected);

另一方面,复选框也可能不是直接 chkGrid的子项。您可能需要递归到子控件中。当我们甚至不知道这是WinForms,WPF,ASP.NET ......时,很难知道更多...