c# - 如何在 silverlight 中将一个可观察集合与另一个可观察集合进行排序?

标签 c# silverlight

我有一个名为“A”的字符串可观察集合,其中包含一些值。另一个名为“B”的字符串可观察集合包含一些值。

“A”有 13 个值,“B”有 5 个值。 “A”包含“B”值,但顺序不同。我希望“A”中的“B”值在组合框中获得第一优先权。

所以我必须做的是.. 编写一些 linq 查询。 请给出一些想法。

最佳答案

我手边没有 IDE,但像这样的东西应该可以做到。

这假设两个集合中存在相同的实例。

var sortedA = observableA.OrderBy(item=>observableB.Contains(item) ? 0 : 1);

如果它们不是相同的实例,并且您想比较诸如 name 之类的属性,您也可以这样做。

var sortedA = observableA.OrderBy(item=>observableB.Any(item2 => item2.Name == item.Name) ? 0 : 1);

关于c# - 如何在 silverlight 中将一个可观察集合与另一个可观察集合进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14155272/

相关文章:

silverlight - (Caliburn Micro) 将 ActionMessage 方法名映射到 ViewModel 的子对象

c# - 文件.复制和 WPF

silverlight - 无法在资源字典中设置路径样式

c# - 在 Windows Phone 7 上的 Silverlight 中序列化 View 模型

c# - 如何使用 Html Agility Pack 使请求超时

c# - 合并两个 ObservableCollection 列表

Silverlight 4 RC 文件上传,上传进度为 : how to?

c# - 需要帮助转换

c# - 使用 Fluent nHibernate 生成多个模式

c# - 如何用简单的方法在Unity中包装这些重复的代码行?