Beispiel #1
0
        static void OnControlChanged(object sender, EventArgs e)
        {
            IVisualNativeElementRenderer renderer = (IVisualNativeElementRenderer)sender;
            IBorderElement backgroundView         = (IBorderElement)renderer.Element;

            UpdateBorder(renderer, backgroundView);
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        public static void Dispose(IVisualNativeElementRenderer renderer)
        {
            var control = (UIButton)renderer.Control;

            renderer.ElementPropertyChanged -= OnElementPropertyChanged;
            control.TouchUpInside           -= TouchUpInside;
            control.TouchDown -= TouchDown;
        }
Beispiel #4
0
        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
        }
Beispiel #6
0
 public static void Init(IVisualNativeElementRenderer renderer)
 {
     renderer.ElementPropertyChanged += OnElementPropertyChanged;
     renderer.ControlChanged         += OnControlChanged;
 }
Beispiel #7
0
 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;