我有一个从 xml 提要中解析数据的例程。
...
matches.Add(_item);
}
在此之后不久,我只想包含与我的 where 子句匹配的项目
if (this.MatchType == FixtureType.Played)
{
matches = matches.ToList().Where(
m =>
m.matchResult == "D"
).ToObservableCollection();
}
在此之后,如果我放置一个断点,我会注意到 matches 现在包含我正在寻找的项目。
现在的问题是数据绑定(bind)到 observablecollection 的控件仍然有初步数据。
最佳答案
问题是这个场景中有2个ObservableCollection
实例
- 控件绑定(bind)的原始
- 您使用
ToObservableCollection
调用创建的新对象
为了在控件中显示新结果,您需要将其重新绑定(bind)到新的 ObservableCollection
实例。那或内联修改原始实例。
var results = matches.Where(m => m.matchResult == "D").ToList();
matches.Clear();
foreach (var cur in results) {
matches.Add(cur);
}
关于c# - 在过滤这个可观察的集合时,我是否遗漏了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7598792/