我创建了一个公共CollectionView(cvs)并将其绑定到WPF应用程序中的ListView Control。然后有一系列过滤器添加代理来过滤我的cvs对象。在这方面,一切都运作良好。
public ICollectionView cvs { get; set; }
public ObservableCollection<T> TLIST
...
cvs = CollectionViewSource.GetDefaultView(TLIST);
ListViewName.ItemsSource = cvs;
...
//Filters created
cvs.Filter = groupFilter.Filter;
我要做的是创建列表中项目的Excel文件。我可以将整个集合(TLIST)发送到OpenXML函数并创建我的文件就好了。在我努力的地方,我想只将过滤后的项目发送到函数中,并且我需要以某种方式发送过滤的cvs。
简而言之,我想要的是 - &gt; cvs.ToList()
但这不是有效的操作。并得到错误
“无法转换类型的对象 键入'System.Windows.Data.ListCollectionView' “System.Collections.Generic.List`1"
有什么明显我做错了吗?任何指导表示赞赏。
注意:即使我检查cvs,它也会显示所有项目,而不仅仅是已过滤的项目。
答案 0 :(得分:0)
您可以尝试下面的过滤列表。
List<MyObject> lst = cvs.Cast<MyObject>().ToList();