我想写一个过滤listview的方法
IEnumerable<ListViewItem> CurrentList;
CurrentList = ListViewExemple.Items.Cast<ListViewItem>();
var result = CurrentList.Select(i => i.Text.Contains(SearchTxtBox.Text));
现在如何将“结果”项添加到已清除的 ListView 中
最佳答案
您必须记住,ListViewItem 有一个所有者,您需要复制该项目以将其放入另一个 ListView 中。使用其 Clone() 方法很容易做到。或者将它从一个移动到另一个,在这种情况下不太可能。所以你可能想要这个:
var matches = listView1.Items.Cast<ListViewItem>()
.Select(item => (ListViewItem)item.Clone())
.Where(item => item.Text.Contains(SearchTxtBox.Text));
listView2.Items.Clear();
listView2.Items.AddRange(matches.ToArray());
关于c# - IEnumerable 到 Listview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26256287/