private void UpdateUI() { CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post; if (post == null) { return; } TextBlock tbSummary = this.GetTemplateChild("tb_Summary") as TextBlock; if (tbSummary == null) { return; } if (CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.DefaultDisplaySummary) { this.ShowSummary = true; tbSummary.Visibility = Windows.UI.Xaml.Visibility.Visible; } else { this.ShowSummary = false; tbSummary.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } base.OnApplyTemplate(); }
/* * private void ShowStatus(string text) * { * this.GetStatusControl(); * if (this.tbStatus != null) * { * this.tbStatus.Text = text; * this.tbStatus.Visibility = Windows.UI.Xaml.Visibility.Visible; * } * } * * private void HideStatus() * { * this.GetStatusControl(); * if (this.tbStatus != null) * { * this.tbStatus.Visibility = Windows.UI.Xaml.Visibility.Collapsed; * } * } */ /// <summary> /// if user click title, control will collapse summary, set status = Skip, next time: show title only /// if user click summary, goto reading page, set status = Read, next time: show title only /// if user click favorite in reading page, set status = Favorite, next time: show title only /// </summary> /// <param name="e"></param> protected override void OnTapped(TappedRoutedEventArgs e) { CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post; if (post == null) { return; } // click on the title if (e.OriginalSource is Windows.UI.Xaml.Shapes.Rectangle) { this.GotoReadingPage = false; if (this.showSummary) // show summary { this.HideSummary(); this.SetNewStatus(post, DataHelper.DataModel.PostStatus.Skip); } else // hide summary { this.ShowSummary(true); } } else // click on the summary { TextBlock tbSource = e.OriginalSource as TextBlock; if (tbSource.Name == "tb_Summary") { // don't navigate to target page here(in control), need do that in page's viewmodel (.cs) this.GotoReadingPage = true; this.SetNewStatus(post, DataHelper.DataModel.PostStatus.Read); } } base.OnTapped(e); }
private void UpdateUI() { CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post; if (post == null) { return; } switch (post.Status) { case DataHelper.DataModel.PostStatus.None: break; case DataHelper.DataModel.PostStatus.Skip: break; case DataHelper.DataModel.PostStatus.Read: this.SetReadStatus(); break; case DataHelper.DataModel.PostStatus.Favorite: this.SetFavoriteStatus(); this.SetReadStatus(); break; default: post.Status = DataHelper.DataModel.PostStatus.None; break; } base.OnApplyTemplate(); }
private void UpdateUI() { CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post; if (post == null) { return; } switch (post.Status) { case DataHelper.DataModel.PostStatus.None: break; case DataHelper.DataModel.PostStatus.Skip: break; case DataHelper.DataModel.PostStatus.Read: this.SetReadStatus(); break; case DataHelper.DataModel.PostStatus.Favorite: this.SetFavoriteStatus(); break; default: post.Status = DataHelper.DataModel.PostStatus.None; break; } if (post.CommentsCount == null && post.DiggsCount == null && post.ViewsCount == null) { GetAttributionControl(); if (attributionControl != null) { attributionControl.Visibility = Visibility.Collapsed; } } //if(post.Author == null) //{ // GetAvatarControl(); // if(avatarGrid!=null) // { // avatarGrid.Visibility = Visibility.Collapsed; // } //} //else if(post.Author.Avatar==null) //{ // GetAvatarControl(); // if (avatarGrid != null) // { // avatarGrid.Visibility = Visibility.Collapsed; // } //} base.OnApplyTemplate(); }
private void SetNewStatus(CNBlogs.DataHelper.DataModel.Post post, CNBlogs.DataHelper.DataModel.PostStatus newStatus, bool updateUI = true) { if (post.Status != newStatus) { if (post.Status <= newStatus) { post.Status = newStatus; DataHelper.DataModel.CNBlogSettings.Instance.SaveBlogStatus(post); } if (updateUI) { this.UpdateUI(); } } }
protected override void OnTapped(TappedRoutedEventArgs e) { CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post; if (post == null) { return; } // click to go to reading page if (!CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.ClickTitleForSummary) { this.GotoReadingPage = true; return; } else // click to show/hide summary { if (e.OriginalSource is Windows.UI.Xaml.Shapes.Rectangle) { this.GotoReadingPage = false; TextBlock tbSummary = this.GetTemplateChild("tb_Summary") as TextBlock; if (this.ShowSummary) { this.ShowSummary = false; tbSummary.Visibility = Windows.UI.Xaml.Visibility.Collapsed; } else { this.ShowSummary = true; tbSummary.Visibility = Windows.UI.Xaml.Visibility.Visible; Storyboard sbSummary = this.GetTemplateChild("sb_Summary") as Storyboard; sbSummary.Begin(); } } else { TextBlock tbSource = e.OriginalSource as TextBlock; if (tbSource.Name == "tb_Summary") { this.GotoReadingPage = true; // don't navigate to target page here(in control), need do that in page's viewmodel (.cs) return; } } } base.OnTapped(e); }
private void UpdateUI(bool showAnimation = true) { CNBlogs.DataHelper.DataModel.Post post = this.DataContext as CNBlogs.DataHelper.DataModel.Post; if (post == null) { return; } switch (post.Status) { case DataHelper.DataModel.PostStatus.None: this.ShowSummary(showAnimation); //this.HideStatus(); break; case DataHelper.DataModel.PostStatus.Skip: this.HideSummary(); //this.ShowStatus(" 朕无视"); break; case DataHelper.DataModel.PostStatus.Read: this.HideSummary(); //this.ShowStatus(" 朕已阅"); break; case DataHelper.DataModel.PostStatus.Favorite: this.HideSummary(); //this.ShowStatus(" 朕收藏"); break; default: post.Status = DataHelper.DataModel.PostStatus.None; this.ShowSummary(showAnimation); //this.HideStatus(); break; } base.OnApplyTemplate(); }