【发布时间】:2016-06-03 20:13:22
【问题描述】:
我搜索了 10 多个小时。
其他窗口有 10 个类和 1 个数据网格
datagrid1.ItemsSource = new List<class1>(); //+100 items in list
or
datagrid1.ItemsSource = new List<class2>(); //+100 items in list
or
datagrid1.ItemsSource = new List<class3>(); //+100 items in list
我需要在Linq中转换和使用退货项目:
var items = datagrid1.ItemsSource as List<???>;
datagrid1.ItemsSource = items.Where(a => a.GetType().GetProperty("Name").GetValue(a, null).ToString().Contains("text"));
我正在使用这些。但不工作
using System.Linq;
var items = datagrid1.ItemsSource as IList;
//Error CS1061 'IList' does not contain a definition for 'Where' and no extension method 'Where' accepting a first argument of type 'IList' could be found (are you missing a using directive or an assembly reference?)
var items = datagrid1.ItemsSource as List<dynamic>; // return null
var items = datagrid1.ItemsSource as List<object>; // return null
我应该改用什么东西???支持 Linq?
注意:我不会使用 class1 或 class2 或 class3
【问题讨论】:
-
datagrid1.ItemsSource.Cast<object>().Where(...) -
哇。这是我的回答。非常感谢。
-
但是为什么 ItemsSource as List
标签: c# wpf linq datagrid itemssource