static void OnControlChanged(object sender, EventArgs e) { IVisualNativeElementRenderer renderer = (IVisualNativeElementRenderer)sender; IBorderElement backgroundView = (IBorderElement)renderer.Element; UpdateBorder(renderer, backgroundView); }
public static void UpdateBorder(IVisualNativeElementRenderer renderer, IBorderElement backgroundView) { var control = renderer.Control; var ImageButton = backgroundView; if (control == null) { return; } if (ImageButton.BorderColor != null) { control.Layer.BorderColor = ImageButton.BorderColor.ToCGColor(); } control.Layer.BorderWidth = Math.Max(0f, (float)ImageButton.BorderWidth); nfloat cornerRadius = _defaultCornerRadius; if (ImageButton.IsCornerRadiusSet() && ImageButton.CornerRadius != ImageButton.CornerRadiusDefaultValue) { cornerRadius = ImageButton.CornerRadius; } control.Layer.CornerRadius = cornerRadius; }
public static void Dispose(IVisualNativeElementRenderer renderer) { var control = (UIButton)renderer.Control; renderer.ElementPropertyChanged -= OnElementPropertyChanged; control.TouchUpInside -= TouchUpInside; control.TouchDown -= TouchDown; }
static void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { IVisualNativeElementRenderer renderer = (IVisualNativeElementRenderer)sender; IBorderElement backgroundView = (IBorderElement)renderer.Element; if (e.PropertyName == Button.BorderWidthProperty.PropertyName || e.PropertyName == Button.CornerRadiusProperty.PropertyName || e.PropertyName == Button.BorderColorProperty.PropertyName) { UpdateBorder(renderer, backgroundView); } }
public static void Dispose(IVisualNativeElementRenderer renderer) { var control = (NativeButton)renderer.Control; renderer.ElementPropertyChanged -= OnElementPropertyChanged; #if __MOBILE__ control.TouchUpInside -= TouchUpInside; control.TouchDown -= TouchDown; #else control.Released -= TouchUpInside; control.Pressed -= TouchDown; #endif }
public static void Init(IVisualNativeElementRenderer renderer) { renderer.ElementPropertyChanged += OnElementPropertyChanged; renderer.ControlChanged += OnControlChanged; }
public static void Dispose(IVisualNativeElementRenderer renderer) { renderer.ElementPropertyChanged -= OnElementPropertyChanged; renderer.ElementChanged -= OnElementChanged; renderer.ControlChanged -= OnControlChanged; }
static void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { IVisualNativeElementRenderer renderer = (IVisualNativeElementRenderer)sender;