首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从最后一个位置恢复滚动时,Listbox跳转到顶部

从最后一个位置恢复滚动时,Listbox跳转到顶部
EN

Stack Overflow用户
提问于 2014-05-13 15:59:43
回答 1查看 1.1K关注 0票数 5

(Windows 8.1)在我的应用程序中,我有一个带有列表框的MainPage。当导航回同一页时,NavigationCacheMode设置为保留状态。

代码语言:javascript
代码运行次数:0
运行
复制
public MainPage()
{
    this.InitializeComponent();
    this.DataContext = this;

    // cache page
    this.NavigationCacheMode = NavigationCacheMode.Required;
}

所以,当我回到另一个页面,回到我的MainPage时,一切都和我离开的一样。Listbox也处于当前位置。但每当我碰它的时候,它就会在滚动之前跳到顶端.

我怎样才能使它恢复滚动,然后才能到达顶端呢?

编辑:解决

似乎Listbox在WP8.1中被窃听了,使用ListView代替!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-02 06:40:36

我也遇到了同样的问题,并发现主要是被选中的ItemsPanelTemplate导致了Bug。

当使用ListView时,标准的ItemsPanelTemplate是ItemsStackPanel,它工作得很好。如果将其更改为VirtualizingStackPanel (ListBox的标准),则会出现错误。但是,只有在Windows上,它才能像预期的那样工作。

所以我假设,当您喜欢使用ListBox而不是ListView时,您必须使用ItemStackPanel作为ItemsPanelTemplate来通过NavigationCacheMode保持滚动位置。

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

https://stackoverflow.com/questions/23636132

复制
相关文章

相似问题

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