我有一个简单的内容页面,我想要两个ListViews。我希望ListViews堆叠在一起。
如果我将它们添加为StackPannel的一部分,则每个ListView会垂直占据View的一半。但是,我希望第一个(顶部)ListView在滚动时一直展开,然后拾取第二个ListView。因此,View的高度基本上必须是每个ListView组合的高度。
我可以通过1个ListView来完成这个并且只进行分组,但在这种情况下,我想要两个完全展开的单独ListView。
实现这一目标的诀窍是什么?我应该使用ScrollView元素吗?
答案 0 :(得分:2)
免责声明:建议不要在ScrollView中使用ListView。
答案:是的,使用ScrollView但是(在downvoting之前继续阅读下面)你必须处理Scroll的影响(至少在iOS上)。
来自Xamarin的人在Evolve 16应用程序中做到了这一点(来源:https://github.com/xamarinhq/app-evolve)
基本上(根据我的理解),您需要按照以下步骤操作:
我不确定我是否足够清楚。让我知道。 :)
[编辑〜重要通知!]只是为了说清楚:在ScrollView中使用ListView将使ListView在加载页面后加载整个Collection,从而为您的集合中的每个ITEM创建一个ViewCell。意思是:如果你有一个包含40个项目的Collection,ListView将创建40个ViewCell的实例,而CachingStrategy无关紧要。在Andriod上,性能最受关注。因此,如果您不控制集合中的项目数量,请注意它可能会严重损害性能。