/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="Common.NavigationHelper"/> /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private void navigationHelper_LoadState(object sender, LoadStateEventArgs e) { string launchString = (string)e.NavigationParameter; if (!string.IsNullOrEmpty(launchString)) { var arguments = JsonConvert.DeserializeObject<ToastNotificationArgs>(launchString); if (arguments != null && arguments.openBookmarks) { var bookmarkCommand = new NavigateToBookmarksCommand(); bookmarkCommand.Execute(null); return; } if (arguments != null && arguments.openPrivateMessages) { var bookmarkCommand = new NavigateToPrivateMessageListPageCommand(); bookmarkCommand.Execute(null); return; } if (arguments != null && arguments.openForum) { var jumpCommand = new NavigateToThreadListPageCommandViaJumplist(); jumpCommand.Execute(arguments.forumId); return; } if (arguments != null && arguments.threadId > 0) { var bookmarkCommand = new NavigateToBookmarksCommand(); bookmarkCommand.Execute(arguments.threadId); return; } var forumEntity = JsonConvert.DeserializeObject<ForumEntity>(launchString); if (forumEntity != null) { var navigateCommand = new NavigateToThreadListPageCommandViaTile(); navigateCommand.Execute(forumEntity); } } }
/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="Common.NavigationHelper"/> /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private void navigationHelper_LoadState(object sender, LoadStateEventArgs e) { }
/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="Common.NavigationHelper"/> /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter == null) { return; } try { var threadId = (long)e.NavigationParameter; var bookmarkdata = new BookmarkDataSource(); _lastSelectedItem = await bookmarkdata.BookmarkForumRepository.Items.Where(node => node.ThreadId == threadId).FirstOrDefaultAsync(); if (_lastSelectedItem != null) { Locator.ViewModels.BookmarksPageVm.NavigateToThreadPageViaToastCommand.Execute(_lastSelectedItem); if (AdaptiveStates.CurrentState == NarrowState) { Frame.Navigate(typeof(ThreadPage), null, new DrillInNavigationTransitionInfo()); } } } catch (Exception ex) { AwfulDebugger.SendMessageDialogAsync("Failed to load Bookmarks page", ex); } }