/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. /// This parameter is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.New) { Logger.LogAgent.GetInstance().WriteLog(this.GetType().ToString()); } string typeValue = string.Empty; string id = string.Empty; if (e.Parameter is Post) { this.post = e.Parameter as Post; this.commentsCount = post.CommentsCount; this.commentDS = new CommentsDS(this.post.ID, "blog"); } else if (e.Parameter is News) { this.news = e.Parameter as News; this.commentsCount = news.CommentsCount; this.commentDS = new CommentsDS(this.news.ID, "news"); } this.commentDS.OnLoadMoreStarted += commentDS_OnLoadMoreStarted; this.commentDS.OnLoadMoreCompleted += commentDS_OnLoadMoreCompleted; this.lv_Comments.ItemsSource = commentDS; }
/// The methods provided in this section are simply used to allow /// NavigationHelper to respond to the page's navigation methods. /// /// Page specific logic should be placed in event handlers for the /// <see cref="GridCS.Common.NavigationHelper.LoadState"/> /// and <see cref="GridCS.Common.NavigationHelper.SaveState"/>. /// The navigation parameter is available in the LoadState method /// in addition to page state preserved during an earlier session. protected async override void OnNavigatedTo(NavigationEventArgs e) { try { navigationHelper.OnNavigatedTo(e); this.commentsCount = string.Empty; var pageFile = string.Empty; if (e.Parameter is Post) { this.post = e.Parameter as Post; this.Title = this.post.Title; this.Author = post.Author; this.commentsCount = post.CommentsCount; CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID); if (await pcDS.LoadRemoteData()) { content = pcDS.Content; } pageFile = "ms-appx-web:///HTML/post_day.html"; currentBlogger.DataContext = this.post.Author; this.commentDS = new CommentsDS(this.post.ID, "blog"); //set read this.SetNewStatus(this.post, PostStatus.Read, true); } else if (e.Parameter is News) { this.news = e.Parameter as News; this.Title = this.news.Title; this.commentsCount = news.CommentsCount; CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID); if (await ncDS.LoadRemoteData()) { content = ncDS.News.Content; } pageFile = "ms-appx-web:///HTML/news_day.html"; this.commentDS = new CommentsDS(this.news.ID, "news"); //CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.SetBlogAsRead(this.news.ID); } else { return; } this.DataContext = this; this.wv_Post.Navigate(new Uri(pageFile)); this.commentDS.OnLoadMoreCompleted += commentDS_OnLoadMoreCompleted; this.lv_Comments.ItemsSource = commentDS; if (this.commentsCount == "0") { this.lv_Comments.Visibility = Windows.UI.Xaml.Visibility.Collapsed; this.tb_Message.Visibility = Windows.UI.Xaml.Visibility.Visible; } } catch (Exception ex) { this.Title = ex.Message; } }
/// The methods provided in this section are simply used to allow /// NavigationHelper to respond to the page's navigation methods. /// /// Page specific logic should be placed in event handlers for the /// <see cref="GridCS.Common.NavigationHelper.LoadState"/> /// and <see cref="GridCS.Common.NavigationHelper.SaveState"/>. /// The navigation parameter is available in the LoadState method /// in addition to page state preserved during an earlier session. protected async override void OnNavigatedTo(NavigationEventArgs e) { try { navigationHelper.OnNavigatedTo(e); if (e.NavigationMode == NavigationMode.New) { Logger.LogAgent.GetInstance().WriteLog(this.GetType().ToString()); } this.commentsCount = string.Empty; var pageFile = string.Empty; if (e.Parameter is News) { this.news = e.Parameter as News; this.Title = this.news.Title; this.commentsCount = news.CommentsCount; CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID); if (await ncDS.LoadRemoteData()) { content = ncDS.News.Content; } pageFile = "ms-appx-web:///HTML/news_day.html"; this.commentDS = new CommentsDS(this.news.ID, "news"); } else { return; } this.DataContext = this; this.wv_Post.Navigate(new Uri(pageFile)); this.commentDS.OnLoadMoreCompleted += commentDS_OnLoadMoreCompleted; this.lv_Comments.ItemsSource = commentDS; if (this.commentsCount.Trim('/') == "0") { this.lv_Comments.Visibility = Windows.UI.Xaml.Visibility.Collapsed; this.tb_Message.Visibility = Windows.UI.Xaml.Visibility.Visible; } //Set Visual States this.SetPageVisualStatus(RenderSize.Width); this.SetTitleFont(pageTitle.Text.Length); } catch (Exception ex) { this.Title = ex.Message; } }
/// <summary> /// The methods provided in this section are simply used to allow /// NavigationHelper to respond to the page's navigation methods. /// <para> /// Page specific logic should be placed in event handlers for the /// <see cref="NavigationHelper.LoadState"/> /// and <see cref="NavigationHelper.SaveState"/>. /// The navigation parameter is available in the LoadState method /// in addition to page state preserved during an earlier session. /// </para> /// </summary> /// <param name="e">Provides data for navigation methods and event /// handlers that cannot cancel the navigation request.</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.New) { Logger.LogAgent.GetInstance().WriteLog(this.GetType().ToString()); } this.navigationHelper.OnNavigatedTo(e); if (e.NavigationMode != NavigationMode.Back) { var pageFile = string.Empty; if (!CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.NightModeTheme) { pageFile = "ms-appx-web:///HTML/news_day.html#width={0}&height={1}"; this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.White; } else { pageFile = "ms-appx-web:///HTML/news_night.html#width={0}&height={1}"; this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.Black; } if (e.Parameter is News) { this.news = e.Parameter as News; this.commentsCount = news.CommentsCount; CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID); if (await ncDS.LoadRemoteData()) { //this.wv_Post.NavigateToString(ncDS.News.Content); // add title to news content = "<h2 class='title'>" + this.news.Title + "</h2>" + ncDS.News.Content; } this.UpdateUI(); string width = Window.Current.Bounds.Width.ToString(); string height = Window.Current.Bounds.Height.ToString(); this.wv_WebContent.Navigate(new Uri(string.Format(pageFile, width, height))); } } }
public void SaveNewsStatus(News news) { SetPostReadState(SettingKeyFormat_NewsReaded, news.ID, news.Status); }
/// <summary> /// The methods provided in this section are simply used to allow /// NavigationHelper to respond to the page's navigation methods. /// <para> /// Page specific logic should be placed in event handlers for the /// <see cref="NavigationHelper.LoadState"/> /// and <see cref="NavigationHelper.SaveState"/>. /// The navigation parameter is available in the LoadState method /// in addition to page state preserved during an earlier session. /// </para> /// </summary> /// <param name="e">Provides data for navigation methods and event /// handlers that cannot cancel the navigation request.</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { this.navigationHelper.OnNavigatedTo(e); string commentsCount = string.Empty; var pageFile = string.Empty; if (e.Parameter is Post) { this.post = e.Parameter as Post; this.Author = post.Author; commentsCount = post.CommentsCount; CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID); if (await pcDS.LoadRemoteData()) { //this.wv_Post.NavigateToString(pcDS.Content); content = pcDS.Content; } pageFile = "ms-appx-web:///HTML/post.html"; } else if (e.Parameter is News) { this.news = e.Parameter as News; commentsCount = news.CommentsCount; CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID); if (await ncDS.LoadRemoteData()) { //this.wv_Post.NavigateToString(ncDS.News.Content); content = ncDS.News.Content; } pageFile = "ms-appx-web:///HTML/news.html"; } UpdateUI(commentsCount); this.wv_WebContent.Navigate(new Uri(pageFile)); }