Windows phone 7 使用LongListSelector根据用户输入对WP7中的数据进行排序/分组

Windows phone 7 使用LongListSelector根据用户输入对WP7中的数据进行排序/分组,windows-phone-7,mvvm-light,silverlight-toolkit,Windows Phone 7,Mvvm Light,Silverlight Toolkit,我正在为Windows Phone 7开发一个清单显示应用程序(主/详细信息),用户可以在其中更改排序。数据源是来自web的XML,根据所选的排序,结果可以是一个平面列表(按名称、型号等排序),也可以按所选属性(颜色、大小等)分组。我将预先确定排序是否返回flat vs.group,并且它不是用户可选择的 我在WP7 pivot控件中显示结果,并且希望/需要在同一PivotItem中显示不同的排序(将排序放在不同的PivotItem中实际上不是一个选项)。列表的源是一个可观察的集合(实际上在这一

我正在为Windows Phone 7开发一个清单显示应用程序(主/详细信息),用户可以在其中更改排序。数据源是来自web的XML,根据所选的排序,结果可以是一个平面列表(按名称、型号等排序),也可以按所选属性(颜色、大小等)分组。我将预先确定排序是否返回flat vs.group,并且它不是用户可选择的

我在WP7 pivot控件中显示结果,并且希望/需要在同一PivotItem中显示不同的排序(将排序放在不同的PivotItem中实际上不是一个选项)。列表的源是一个可观察的集合(实际上在这一点上,它是一个CollectionViewSource,但我也不喜欢)。我使用的是MVVM轻型框架

我使用了Silverlight工具包中的LongListSelector,它看起来像是我想要的。我已经阅读了很多文章(从开始),实际上它是用于平面列表的(没有应用排序,只是源代码中的默认值)。现在我正试图找出正确的使用方法

我的问题是:

  • 是否有可能在不必构建/维护相同信息的多个可观察集合(每个排序变量一个)的情况下重新构建数据显示方式(平面/排序与分组)

  • 如果不是,最好的方法是在手机上本地保存数据的本地副本并从那里开始工作?我希望我能在复杂性方面有所突破,但在性能/响应性方面有所节省

  • 要在同一数据透视项中显示各种结果,我应该创建具有适当格式的用户控件,并根据所选排序将其交换到数据透视中,还是可以通过动态ItemSource&ItemTemplate更改来实现

  • Observable Collection/CollectionViewSource是这里的方法吗

答案完全有可能(甚至有可能)就在我面前,但我对这些东西还不熟悉,而且我遇到了数据过载的问题。我真的需要一些指导

谢谢, 丰富的

是否有可能在不必构建/维护相同信息的多个可观察集合(每个排序变量一个)的情况下重新构建数据显示方式(平面/排序与分组)

我认为您可以尝试使用LINQ查询给定集合,并将该查询用作LLS的源。我不确定演出会怎么样,但你可以试一试。或者,IIRC各种*ViewSource集合都有更改数据视图的方法,因此您可以查看这些方法