如何在列表集合视图中搜索

本文关键字:视图 搜索 集合 列表 | 更新日期: 2023-09-27 18:37:16

直到昨天,我还使用ListView并将其绑定到List<>。
然后,我在一些文章中读到,将ListView绑定到ListCollectionView以便于筛选是有意义的。我这样做了,它工作正常。
但是现在我不知道如何在ListCollectionView中找到项目。
直到昨天我才使用这段代码,它适用于列表:

List<Artist> selectedArtistsList;
var item = selectedArtistsList.OrderBy(artist => artist.ArtistShowName).FirstOrDefault(artist => artist.ArtistShowName.StartsWith(FindInSelection1.Text, StringComparison.CurrentCultureIgnoreCase));

但对于ListCollectionView来说,似乎没有什么比StartsLike
相似的了。如何在(过滤的)列表集合视图中搜索?

如何在列表集合视图中搜索

ListCollectionView实现了IEnumerable所以只需将其转换为IEnumerable<Artist>

var artist = listCollectionView
                 .Cast<Artist>()
                 .OrderBy(artist => artist.ArtistShowName)
                 .FirstOrDefault(artist => artist.ArtistShowName.StartsWith(FindInSelection1.Text, StringComparison.CurrentCultureIgnoreCase));