protected override void OnElementChanged(ElementChangedEventArgs <Frame> e) { base.OnElementChanged(e); if (e.OldElement != null || Element == null) { return; } try { GradientFrame stack = e.NewElement as GradientFrame; StartColor = stack.StartColor; EndColor = stack.EndColor; _cornerRadius = stack.CornerRadius; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(@"ERROR:", ex.Message); } }
protected override void OnElementChanged(ElementChangedEventArgs <Frame> e) { base.OnElementChanged(e); if (e.NewElement != null) { frame = e.NewElement as GradientFrame; } }
protected override void OnElementChanged(ElementChangedEventArgs <Frame> e) { base.OnElementChanged(e); if (Control != null && e.NewElement != null) { grid = e.NewElement as GradientFrame; } }
protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.Frame> e) { base.OnElementChanged(e); if (e.NewElement != null) { frame = e.NewElement as GradientFrame; } if (Control != null) { border = Control; border.Loaded += this.Border_Loaded; } }
public override void Draw(CGRect rect) { base.Draw(rect); GradientFrame stack = (GradientFrame)Element; CGColor startColor = stack.StartColor.ToCGColor(); CGColor endColor = stack.EndColor.ToCGColor(); var gradientLayer = new CAGradientLayer { StartPoint = new CGPoint(0, 0.5), EndPoint = new CGPoint(1, 0.5) }; gradientLayer.Frame = rect; gradientLayer.Colors = new CGColor[] { startColor, endColor }; NativeView.Layer.InsertSublayer(gradientLayer, 0); }