【问题标题】:Long list selector sorting is not working长列表选择器排序不起作用
【发布时间】:2014-05-29 01:44:26
【问题描述】:

我有两个明确的 LongListSelector - 没有任何修改,只是从工具箱中拖动并更改了名称。
我正在使用下面的代码来填充它们(其中一个需要排序):

closestList.ItemsSource = spots;    
allList.ItemsSource = spots.OrderBy(x => x.name).ToList();

第一个列表工作正常,但第二个列表为空 - 没有错误。当我将第二行更改为:allList.ItemsSource = spots; 时,它工作正常。
这种做法有什么问题?

【问题讨论】:

  • 哦,抱歉——spots 是一个 ObservableCollection。

标签: c# windows-phone-8 longlistselector


【解决方案1】:

在您编写所拥有的代码时,spots 为空且不包含任何项目。当您将数据源定义为对spots 的引用时,它能够识别何时添加项目(如果spots 是一个可观察的集合,它确实是)这意味着将来,当项目添加到spots,用户界面将会更新。

您的第二个 sn-p 并未将数据源设置为对 spots 的引用,而是将其设置为该时刻集合的 副本。在那一刻它是空的,并且由于复制它的行为现在已经使该数据源与spots 分离,当项目添加到spots 时它永远不会收到通知,因此它保持为空.

【讨论】:

  • 你是对的。我已经向用数据填充点的方法添加了顺序,它工作正常。
猜你喜欢
  • 2014-08-29
  • 2021-07-20
  • 1970-01-01
  • 2016-02-03
  • 2013-05-25
  • 2018-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多