gpt4 book ai didi

c# - 从上一个位置恢复滚动时列表框跳到顶部

转载 作者:太空狗 更新时间:2023-10-29 23:14:51 25 4
gpt4 key购买 nike

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

public MainPage()
{
this.InitializeComponent();
this.DataContext = this;

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

所以当我转到另一个页面并返回到我的主页面时,一切看起来都和我离开时一样。列表框也在正确的位置。但是每当我触摸它时,它会在滚动之前跳到顶部......

我怎样才能让它在首先到达顶部之前恢复滚动?

编辑:已解决

似乎 Listbox 在 WP8.1 中存在错误,请改用 ListView!

最佳答案

我遇到了同样的问题,发现主要是所选的 ItemsPanelTemplate 导致了错误。

使用 ListView 时,标准的 ItemsPanelTemplate 是 ItemsStackPanel,它工作正常。如果将其更改为 VirtualizingStackPanel(ListBox 的标准),则会出现错误。但仅在 Windows Phone 上,对于 Windows,它按预期工作。

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

关于c# - 从上一个位置恢复滚动时列表框跳到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23636132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com