Exemplo n.º 1
0
        protected override void OnRender(DrawingContext drawingContext)
        {
            Pen    pen         = null;
            double borderWidth = this.BorderWidth;
            Brush  borderBrush = base.BorderBrush;

            if (borderWidth > 0 && borderBrush != null)
            {
                pen = new Pen(borderBrush, borderWidth);
            }
            RenderUtils.DrawInscribedRoundedRect(drawingContext, base.Background, pen, new Rect(0, 0, base.ActualWidth, base.ActualHeight), this.CornerRadius);
            base.OnRender(drawingContext);
        }
Exemplo n.º 2
0
        protected override void OnRender(DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);
            if (this.ViewType != ChoiceEditorViewType.Combo || this.ShowFullControl)
            {
                return;
            }
            double      borderCornerRadius = this.BorderCornerRadius;
            Thickness   dropButtonInset    = this.DropButtonInset;
            Thickness   textAreaInset      = this.TextAreaInset;
            Brush       dropButtonBrush    = this.DropButtonBrush;
            double      innerCornerRadius  = this.InnerCornerRadius;
            ImageSource buttonIcon         = this.ButtonIcon;
            double      iconWidth          = this.IconWidth;
            double      iconHeight         = this.IconHeight;
            Rect        outerBounds        = new Rect(0.0, 0.0, this.ActualWidth, this.ActualHeight);

            if (!RenderUtils.DrawInscribedRoundedRect(drawingContext, this.BorderBrush, (Pen)null, outerBounds, borderCornerRadius))
            {
                return;
            }
            Rect   rect = RenderUtils.CalculateInnerRect(outerBounds, 0.0);
            double x1   = (rect.Right > textAreaInset.Right ? rect.Right - textAreaInset.Right : 0.0) + dropButtonInset.Left;
            double y1   = rect.Top + dropButtonInset.Top;
            double x2   = rect.Right - dropButtonInset.Right;
            double y2   = rect.Bottom - dropButtonInset.Bottom;

            RenderUtils.DrawInscribedRoundedRect(drawingContext, dropButtonBrush, (Pen)null, new Rect(new Point(x1, y1), new Point(x2, y2)), innerCornerRadius);
            if (buttonIcon != null)
            {
                double num1 = x1 + (x2 - x1) / 2.0;
                double num2 = y1 + (y2 - y1) / 2.0;
                drawingContext.DrawImage(buttonIcon, new Rect(new Point(num1 - iconWidth / 2.0, num2 - iconHeight / 2.0), new Point(num1 + iconWidth / 2.0, num2 + iconHeight / 2.0)));
            }
            double x3 = rect.Left + textAreaInset.Left;
            double y3 = rect.Top + textAreaInset.Top;
            double x4 = rect.Right > textAreaInset.Right ? rect.Right - textAreaInset.Right : x3;
            double y4 = rect.Bottom - textAreaInset.Bottom;

            RenderUtils.DrawInscribedRoundedRect(drawingContext, this.Background, (Pen)null, new Rect(new Point(x3, y3), new Point(x4, y4)), innerCornerRadius);
        }