protected void NavigationHelperSaveState(object sender, SaveStateEventArgs e) { if (e.PageState == null) { throw new InvalidOperationException("PageState is null"); } if (e.PageState.ContainsKey(StateKey)) { e.PageState.Remove(StateKey); } var state = SaveState(); if (state != null) { e.PageState.Add(StateKey, state); } }
/// <summary> /// Preserves state associated with this page in case the application is suspended or the /// page is discarded from the navigation cache. Values must conform to the serialization /// requirements of <see cref="SuspensionManager.SessionState"/>. /// </summary> /// <param name="sender">The source of the event; typically <see cref="NavigationHelper"/></param> /// <param name="e">Event data that provides an empty dictionary to be populated with /// serializable state.</param> private void navigationHelper_SaveState(object sender, SaveStateEventArgs e) { }