protected override async void OnExit(object sender, RoutedEventArgs e) { base.OnExit(sender, e); await StorageManager.SetPostCommentDraft( SettingsManager.PersistentSettings.CurrentUser.Id, ViewModel.CurrentPostData.Id, WriteComment.CommentText, WriteComment.IsAnonymous) .ConfigureAwait(true); CommentsList.CommentsWrapPanel.Children.Clear(); CommentsList.UpdateLayout(); UpdateLayout(); GC.WaitForPendingFinalizers(); GC.Collect(); if (!IsOnExitActive) { e.Handled = true; return; } }
protected override async void OnEnter(object sender, RoutedEventArgs e) { base.OnEnter(sender, e); CommentsList.UpdateLayout(); UpdateLayout(); GC.WaitForPendingFinalizers(); GC.Collect(); if (!IsOnEnterActive) { e.Handled = true; return; } PostScrollViewer .ScrollToVerticalOffset(0.0); await UpdatePost() .ConfigureAwait(true); var draft = await StorageManager.GetPostCommentDraft( SettingsManager.PersistentSettings.CurrentUser.Id, ViewModel.CurrentPostData.Id) .ConfigureAwait(true); WriteComment.CommentText = draft.CommentText; WriteComment.IsAnonymous = draft.IsAnonymous; WriteComment.ContentTextBox.ScrollToEnd(); WriteComment.ContentTextBox.CaretIndex = draft.CommentText.Length; WriteComment.ContentTextBox.Focus(); if (PostScrollViewer.VerticalOffset >= PostScrollViewer.ScrollableHeight - 20) { PostScrollViewer.ScrollToVerticalOffset(0.0); } }