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