首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows Phone上实现可滚动表格

问在Windows Phone上实现可滚动表格
EN

Stack Overflow用户
提问于 2014-02-02 04:08:18
回答 1查看 392关注 0票数 4

我需要创建一个电视指南的应用程序。要求是UI必须是您可以在此处看到的副本:raspored.bnet.hr。如你所见,这里有大量的数据。所以,基本上它会是一个很大的可滚动的表格。由于Windows Phone上没有table这样的UI控件,我发现最好的方法是创建一个垂直列表框,并将水平列表框作为其项目。这一切都很好,我可以创建它。但是,为了让它表现得像一个表格,我还需要让这些水平列表框同步滚动,而不是一次滚动一行。然后我禁用了水平列表框上的水平滚动,并在父(垂直)列表框上启用了它,虽然它提供了我想要实现的结果,但出现了一个大问题- UI虚拟化。我知道listbox在默认情况下启用了UI虚拟化,我可以在垂直列表框上滚动时看到它,但当我禁用水平列表框上的水平滚动时,性能真的很差,有时还会出现OutOfMemoryException。我理解为什么会发生这种情况,因为当我禁用水平滚动时,这些列表框不再知道屏幕上有哪些项目,所以将它们全部加载到内存中。

我还尝试在每个列表框上保留滚动,以便它们具有UI虚拟化功能,然后将ScrollViewer放在它们上面。然后,我尝试在scrollviewer上监听操作事件,并根据需要按程序滚动所有列表框。这并不能很好地工作,首先,ManipulationDelta事件的触发频率似乎不足以使滚动平滑,而且我认为在大约180个列表框上调用ScrollToHorizontalOffset可能存在性能问题。

我也尝试了WP8的LongListSelector,因为我读到它的UI虚拟化要好得多,应该用它来代替ListBox。这样做的问题是我不能让它水平滚动。这是完全可能的吗?我试着将它包装成可以水平滚动的ScrollViewer,但只有当我在LLS上设置固定宽度时,它才能工作。

我也试过Telerik的RadDataBoundListBox,问题是类似的,我不能在同一列表框中同时显示水平和垂直滚动。所以我只能让每个列表自己滚动。

谁能告诉我,如果他们有类似的情况,解决这个问题的最好方法是什么?我相信我不是唯一一个需要实现大的可滚动表格的人。

谢谢

更新:我只想告诉你,我没有找到一个合适的方法来实现它,相反,我已经用WebBrowser控件在HTML语言中实现了。IE似乎已经实现了UI虚拟化,所以它可以很好地处理大页面。

EN

回答 1

Stack Overflow用户

发布于 2014-02-07 15:13:53

不要一次加载数据,在你正在下载的图片的应用程序中使用BackgroundWorker

  • Have一个本地图片,并将其设置为默认图片&当你在中滚动到大约50个值时,将图片
  1. 清除为本地,当它返回时,再次给出你想要显示的图片Url。

因为我用它来滚动20k的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21502991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档