1
在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
中再次加载数据,并且列表中的最后一个位置?谢谢。
非常感谢。我认为可以将我们的自定义类型添加到SuspensionManager,以便知道类型并可以处理它? – user3293835 2014-11-04 12:22:14