在Windows Phone 8.1 XAML中使用WrapGrid的ListView的奇怪行为
我有一个带有ListView
nad WrapGrid
的Windows Phone 8.1 XAML应用程序作为其WrapGrid
来显示两列中的项目
页面的缓存模式设置为NavigationCacheMode.Required
。
我在列表中搜索,点击一个项目并导航到另一个屏幕。 当我使用ListView
导航回页面时, ListView
记住scoll位置( NavigationCacheMode.Required
),但会“破坏”,当我点击项目时,他们只是奇怪地跳起来。
以下是重现问题的完整简单解决方案: https : //dl.dropboxusercontent.com/u/73642/listview.zip 。
这是一个显示问题的video: https : //dl.dropboxusercontent.com/u/73642/listview.wmv
有人经历过这个吗? 有没有解决这个问题的方法?
我发现的一个解决方法是将ListView
包装在ScrollViewer
。 这是垂直滚动查看器的样式:
然后你像这样包装ListView
:
...
这样就不会使用ListView
的内部ScrollViewer
,这似乎可以解决您的问题。 现在, ListView
某些function可能存在一些问题,这些function依赖于要使用的内部ScrollViewer
(例如增量加载)。 你将测试它,你会看到你需要什么工作。