【发布时间】:2014-11-04 10:46:08
【问题描述】:
在 Windows 运行时应用程序中,我加载如下数据:
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
var userId = e.NavigationParameter as string;
List<User> followers = GetFollowers(userId);
this.DefaultViewModel["Followers"] = followers;
}
然后用户可以从ListView中选择一个项目:
private void ContentListView_ItemClick(object sender, ItemClickEventArgs e)
{
var selectedItem = e.ClickedItem as User;
if (!Frame.Navigate(typeof(FollowersPage), selectedItem.UserId))
{
throw new Exception(this.resourceLoader.GetString("NavigationFailedExceptionMessage"));
}
}
因此它会向前导航到同一页面,但会显示新的关注者。
问题是当它导航回来时,它会再次加载数据并从列表的开头显示,而不是显示最后选择的项目。
那么如何在NavigationHelper_SaveState 中保存List 的数据,以及如何在列表中最后一个位置的NavigationHelper_LoadState 中再次加载它?谢谢。
【问题讨论】:
标签: c# windows-runtime windows-phone windows-store-apps windows-phone-8.1