如何使Windows phone 8.1的列表视图在按下Windows phone返回键后打开列表最后选定的项目
本文关键字:列表 phone Windows 最后 项目 何使 视图 返回 | 更新日期: 2023-09-27 18:02:11
我在listview中显示的图像列表。当我点击列表视图项目时,它打开另一个页面,显示当前图片的更大版本。当我按下Windows phone后退键时,我希望列表视图滚动到之前选择的项目。
下面是我如何保存lsitview. selecteindex: private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
{
e.PageState.Add("id", listview.SelectedIndex);
}
这是我如何尝试设置listview:
private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
if (null != e.PageState && e.PageState.ContainsKey("id"))
{
int i = (int)e.PageState["id"];
listview.ScrollIntoView(listview.Items[i]);
System.Diagnostics.Debug.WriteLine(listview.Items.Count);
}
}
我也试过这样做,但这是不工作?
private void listview_Loaded(object sender, RoutedEventArgs e)
{
listview.ScrollIntoView(listview.Items[i])
}
但是当我像这样添加正常按钮到我的lisview页面时:
private void Button_Click(object sender, RoutedEventArgs e)
{
listview.ScrollIntoView(listview.Items[i]);
}
点击按钮后滚动到所选项目。我怎么能使它的工作没有按钮,使lisview滚动自动最后选定的项目?
"
如果我理解正确的话,当用户去到图片并返回时,ListView被滚动到顶部,对吗?在本例中,这是因为页面实例没有保存在缓存中,所以当您按下后退按钮时,它会再次加载。你可以通过将NavigationCacheMode设置为Enabled来阻止这种情况:
<Page x:Class="App.YourClass"
NavigationCacheMode="Enabled"
</Page>