diff --git a/Xwt.XamMac/Xwt.Mac/CanvasBackend.cs b/Xwt.XamMac/Xwt.Mac/CanvasBackend.cs index 66204936b..4eaea468f 100644 --- a/Xwt.XamMac/Xwt.Mac/CanvasBackend.cs +++ b/Xwt.XamMac/Xwt.Mac/CanvasBackend.cs @@ -52,6 +52,9 @@ protected override void OnSizeToFit () Widget.SetFrameSize (new CGSize ((nfloat)s.Width, (nfloat)s.Height)); } + // Skip Layer initialization in base to avoid rendering issues. CanvasView.DrawRect will draw the background. + public override Xwt.Drawing.Color BackgroundColor { get; set; } + public Rectangle Bounds { get { return new Rectangle (0, 0, view.Frame.Width, view.Frame.Height); @@ -161,4 +164,3 @@ public override bool BecomeFirstResponder() } } } - diff --git a/Xwt/Xwt/FrameBox.cs b/Xwt/Xwt/FrameBox.cs index 666f44b20..4f728c69b 100644 --- a/Xwt/Xwt/FrameBox.cs +++ b/Xwt/Xwt/FrameBox.cs @@ -223,7 +223,12 @@ public double BorderWidthBottom { } } - public Color BorderColor { + public override Color BackgroundColor { + get { return canvas.BackgroundColor; } + set { canvas.BackgroundColor = value; } + } + + public Color BorderColor { get { return borderColor; } set { borderColor = value; canvas.QueueDraw (); } } diff --git a/Xwt/Xwt/Widget.cs b/Xwt/Xwt/Widget.cs index 007b38ea3..181833457 100644 --- a/Xwt/Xwt/Widget.cs +++ b/Xwt/Xwt/Widget.cs @@ -764,7 +764,7 @@ public Font Font { /// Gets or sets the background color. /// /// The background color of the widget. - public Color BackgroundColor { + public virtual Color BackgroundColor { get { return Backend.BackgroundColor; } set { Backend.BackgroundColor = value; } }