【发布时间】:2017-08-09 00:55:31
【问题描述】:
我正在通过 ObservableCollection 循环查找已通过将布尔值设置为 true 来标记的项目。在完成我需要的项目后,我想将其从 OnservableCollection 中删除。我不能在 foreach 循环中做到这一点,所以我想列出所有标记的项目,然后在 foreach 循环之后立即清除集合中的所有项目。但是我什至无法开始,因为我不知道如何在 foreach 循环中获取项目的索引。
private void Upload()
{
List<TestResult> kill;
foreach (var tr in TestResults)
{
if (tr.CanUpload)
{
StatusContent = "Uploading " + tr.FileName;
FileOps.UploadDocument(tr);
kill.Add(tr);
tr.CanUpload = false;
RaisePropertyChanged("TestResults");
}
}
//this doesn't work
//TestResults.Remove(TestResults.Where(x => x.CanUpload == true));
}
我已经尝试过使用上述内容,但我缺少一些关键部分以使其正常工作。
【问题讨论】:
标签: c# wpf list mvvm observablecollection