Windows Phone 上的 Observable 集合和 Linq for Silverlight
我绑定到可观察集合,但不确定如何使用 linq 过滤和排序它们。我需要它们是可观察的,否则我的绑定将不会收到更改通知(对吗?)。当您填充可观察集合时,它会保留添加到其中的项目的顺序吗?
我不知道从这里该去哪里。
对于数据绑定,是否有另一种可观察的集合类型,但您可以在其上使用 linq?
I am binding to observable collections, but not sure how to filter and order them with linq. I need them to be observable, otherwise my bindings won't be notified of changes (right?). When you populate an observable collection, will it retain the order items were added to it?
I am not sure where to go from here.
For databinding, is there another type of collection that is observable, but that you can use linq on?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您需要在列表数据之上提供过滤和排序,那么您可能应该使用
CollectionViewSource
用于绑定,而不是ObservableCollection
。 Geoff Hudik 的帖子:WP7 应用内搜索,过滤涵盖了这一点。If you need to provide filtering and sorting on top of your list data, then you should probably use
CollectionViewSource
for binding rather thanObservableCollection
. Geoff Hudik's post: WP7 In-App Searching, Filtering covers this.当您知道基础数据将发生变化时,建议使用 ObservableCollection 集合。
它将保留添加项目的顺序。
您也可以使用其他集合进行数据绑定,Linq 几乎可以用于任何实现 IEnumerable 的东西。
ObservableCollection is the recommended collection to use when you know that the underlying data will change.
It will retain the order of items in which they were added
You can use other collections for databinding as well, Linq can be used on pretty much anything that implements IEnumerable.