c# - 在过滤这个可观察的集合时,我是否遗漏了什么?

标签 c# windows-phone-7

我有一个从 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/

相关文章:

c# - 我可以将集合初始值设定项与 NameValueCollection 一起使用吗?

c# - 如何从 EntityFramework 查询复杂结果集并在 MVC 中显示结果集。

.net - 编程 Windows Phone 7 与普通的 .NET 编程有什么不同吗?

windows-phone-7 - 在 Visual Studio 的 Windows Phone 7 设计 Pane 中向下滚动

windows - windows Phone 可以进行人脸识别吗

silverlight - 是否可以在 Windows Phone 7 模拟器上安装不同的字体?

c# - 是否有可能找出字符串列表中的公共(public)部分

c# - 未为目标提供服务证书 '###' 在 ClientCredentials 中指定服务证书

c# - 节流asp .net中的异步任务,限制N个成功任务

c# - 如何使用 RestSharp 发送请求