예제 #1
0
        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>");
        }
예제 #3
0
 void Set(PageRectangle rect, bool value) => rect.Fill = (IBrush)Application.Current.Styles.FindResource(value? "ThemeExtraBrush" : "ThemeForegroundLowBrush");