public override void Draw(CGRect rect) { base.Draw(rect); GradientColorGrid stack = (GradientColorGrid)this.Element; CGColor startColor = stack.StartColor.ToCGColor(); CGColor endColor = stack.EndColor.ToCGColor(); var gradientLayer = new CAGradientLayer(); gradientLayer.Frame = rect; gradientLayer.Colors = new CGColor[] { startColor, endColor }; NativeView.Layer.InsertSublayer(gradientLayer, 0); }
protected override void OnElementChanged(ElementChangedEventArgs <Grid> e) { base.OnElementChanged(e); if (e.OldElement != null || Element == null) { return; } try { _stack = e.NewElement as GradientColorGrid; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(@"ERROR:", ex.Message); } }