public PageFilterViewer(PageFilter filter) { InitializeComponent(); _filter = filter; for (int i = 0; i < PagesGrid.Children.Count; i++) { PageRectangle Rect = (PageRectangle)PagesGrid.Children[i]; Set(Rect, _filter[i]); Rect.Index = i + 1; } }
private void DrawRectangle(PageRectangle pr, StringBuilder sb, Rectangle r) { StyleInfo si = pr.SI; // adjust drawing rectangle based on padding Rectangle r2 = new Rectangle(r.Left + PixelsX(si.PaddingLeft), r.Top + PixelsY(si.PaddingTop), r.Width - PixelsX(si.PaddingLeft - si.PaddingRight), r.Height - PixelsY(si.PaddingTop - si.PaddingBottom)); sb.AppendFormat("<Rectangle Canvas.Left=\"{0}\" Canvas.Top=\"{1}\" Height=\"{2}\" Width=\"{3}\">", r2.Left, r2.Top, r2.Height, r2.Width); sb.Append("<Rectangle.Fill>"); DrawBackground(sb, si); sb.Append("</Rectangle.Fill>"); sb.Append("</Rectangle>"); }
void Set(PageRectangle rect, bool value) => rect.Fill = (IBrush)Application.Current.Styles.FindResource(value? "ThemeExtraBrush" : "ThemeForegroundLowBrush");