예제 #1
0
 public static void UpdateCornerRadius(this MaterialButton platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.CornerRadius >= 0)
     {
         platformButton.CornerRadius = (int)platformButton.Context.ToPixels(buttonStroke.CornerRadius);
     }
 }
예제 #2
0
 public static void UpdateStrokeColor(this ShapeableImageView platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.StrokeColor is Color stroke)
     {
         platformButton.StrokeColor = ColorStateListExtensions.CreateButton(stroke.ToPlatform());
     }
 }
예제 #3
0
 public static void UpdateStrokeColor(this MaterialButton platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.StrokeColor is Color stroke)
     {
         platformButton.StrokeColor = ColorStateListExtensions.CreateButton(stroke.ToPlatform());
     }
 }
예제 #4
0
 public static void UpdateStrokeThickness(this UIButton platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.StrokeThickness >= 0)
     {
         platformButton.Layer.BorderWidth = (float)buttonStroke.StrokeThickness;
     }
 }
예제 #5
0
 public static void UpdateCornerRadius(this UIButton platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.CornerRadius >= 0)
     {
         platformButton.Layer.CornerRadius = buttonStroke.CornerRadius;
     }
 }
예제 #6
0
 public static void UpdateStrokeColor(this UIButton platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.StrokeColor != null)
     {
         platformButton.Layer.BorderColor = buttonStroke.StrokeColor.ToCGColor();
     }
 }
예제 #7
0
 public static void UpdateStrokeThickness(this MaterialButton platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.StrokeThickness >= 0)
     {
         platformButton.StrokeWidth = (int)platformButton.Context.ToPixels(buttonStroke.StrokeThickness);
     }
 }
예제 #8
0
 public static void UpdateStrokeColor(this MaterialButton nativeButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.StrokeColor is Color stroke)
     {
         nativeButton.StrokeColor = ColorStateListExtensions.CreateButton(stroke.ToNative());
     }
 }
예제 #9
0
 public static void UpdateCornerRadius(this Button platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.CornerRadius >= 0)
     {
         platformButton.Resources["ControlCornerRadius"] = WinUIHelpers.CreateCornerRadius(buttonStroke.CornerRadius);
     }
     else
     {
         platformButton.Resources.Remove("ControlCornerRadius");
     }
 }
예제 #10
0
 public static void UpdateStrokeThickness(this Button platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.StrokeThickness >= 0)
     {
         platformButton.Resources["ButtonBorderThemeThickness"] = WinUIHelpers.CreateThickness(buttonStroke.StrokeThickness);
     }
     else
     {
         platformButton.Resources.Remove("ButtonBorderThemeThickness");
     }
 }
예제 #11
0
        public static void UpdateCornerRadius(this Button platformButton, IButtonStroke buttonStroke)
        {
            var radius = buttonStroke.CornerRadius;

            if (radius >= 0)
            {
                platformButton.Resources.SetValueForAllKey(CornerRadiusResourceKeys, WinUIHelpers.CreateCornerRadius(buttonStroke.CornerRadius));
            }
            else
            {
                platformButton.Resources.RemoveKeys(CornerRadiusResourceKeys);
            }

            platformButton.RefreshThemeResources();
        }
예제 #12
0
        public static void UpdateStrokeThickness(this Button platformButton, IButtonStroke buttonStroke)
        {
            var thickness = buttonStroke.StrokeThickness;

            if (thickness >= 0)
            {
                platformButton.Resources.SetValueForAllKey(StrokeThicknessResourceKeys, WinUIHelpers.CreateThickness(buttonStroke.StrokeThickness));
            }
            else
            {
                platformButton.Resources.RemoveKeys(StrokeThicknessResourceKeys);
            }

            platformButton.RefreshThemeResources();
        }
예제 #13
0
        public static void UpdateStrokeColor(this Button platformButton, IButtonStroke buttonStroke)
        {
            var brush = buttonStroke.StrokeColor?.ToPlatform();

            if (brush is null)
            {
                platformButton.Resources.RemoveKeys(StrokeColorResourceKeys);
            }
            else
            {
                platformButton.Resources.SetValueForAllKey(StrokeColorResourceKeys, brush);
            }

            platformButton.RefreshThemeResources();
        }
예제 #14
0
        public static void UpdateStrokeColor(this Button platformButton, IButtonStroke buttonStroke)
        {
            var brush = buttonStroke.StrokeColor?.ToPlatform();

            if (brush is null)
            {
                platformButton.Resources.Remove("ButtonBorderBrush");
                platformButton.Resources.Remove("ButtonBorderBrushPointerOver");
                platformButton.Resources.Remove("ButtonBorderBrushPressed");
                platformButton.Resources.Remove("ButtonBorderBrushDisabled");

                platformButton.ClearValue(Button.BorderBrushProperty);
            }
            else
            {
                platformButton.Resources["ButtonBorderBrush"]            = brush;
                platformButton.Resources["ButtonBorderBrushPointerOver"] = brush;
                platformButton.Resources["ButtonBorderBrushPressed"]     = brush;
                platformButton.Resources["ButtonBorderBrushDisabled"]    = brush;

                platformButton.BorderBrush = brush;
            }
        }
예제 #15
0
 public static void MapStrokeThickness(IImageButtonHandler handler, IButtonStroke buttonStroke)
 {
     (handler.PlatformView as ShapeableImageView)?.UpdateStrokeThickness(buttonStroke);
 }
예제 #16
0
 public static void UpdateStrokeThickness(this ShapeableImageView platformButton, IButtonStroke buttonStroke)
 {
     if (buttonStroke.StrokeThickness >= 0)
     {
         platformButton.StrokeWidth = (int)platformButton.Context.ToPixels(buttonStroke.StrokeThickness);
     }
 }
예제 #17
0
        public static void UpdateCornerRadius(this ShapeableImageView platformButton, IButtonStroke buttonStroke)
        {
            var radius = platformButton.Context.ToPixels(buttonStroke.CornerRadius);

            platformButton.ShapeAppearanceModel =
                platformButton.ShapeAppearanceModel
                .ToBuilder()
                .SetTopLeftCorner(CornerFamily.Rounded, radius)
                .SetTopRightCorner(CornerFamily.Rounded, radius)
                .SetBottomLeftCorner(CornerFamily.Rounded, radius)
                .SetBottomRightCorner(CornerFamily.Rounded, radius)
                .Build();
        }
예제 #18
0
 public static void MapStrokeColor(IButtonHandler handler, IButtonStroke buttonStroke)
 {
     handler.TypedNativeView?.UpdateStrokeColor(buttonStroke);
 }
예제 #19
0
 public static void MapCornerRadius(IImageButtonHandler handler, IButtonStroke buttonStroke)
 {
 }
예제 #20
0
 public static void MapCornerRadius(IButtonHandler handler, IButtonStroke buttonStroke)
 {
     handler.TypedNativeView?.UpdateCornerRadius(buttonStroke);
 }
예제 #21
0
 public static void MapCornerRadius(IButtonHandler handler, IButtonStroke buttonStroke)
 {
     handler.PlatformView?.UpdateCornerRadius(buttonStroke);
 }
예제 #22
0
 public static void MapStrokeThickness(IButtonHandler handler, IButtonStroke buttonStroke)
 {
     handler.PlatformView?.UpdateStrokeThickness(buttonStroke);
 }
예제 #23
0
 public static void MapStrokeThickness(IButtonHandler handler, IButtonStroke buttonStroke)
 {
     handler.TypedNativeView?.UpdateStrokeThickness(buttonStroke);
 }
예제 #24
0
 public static void MapCornerRadius(IImageButtonHandler handler, IButtonStroke buttonStroke)
 {
     (handler.PlatformView as ShapeableImageView)?.UpdateCornerRadius(buttonStroke);
 }
예제 #25
0
 public static void MapStrokeColor(IImageButtonHandler handler, IButtonStroke buttonStroke)
 {
 }
예제 #26
0
 public static void MapStrokeThickness(IImageButtonHandler handler, IButtonStroke buttonStroke)
 {
 }
예제 #27
0
 public static void MapStrokeColor(IButtonHandler handler, IButtonStroke buttonStroke)
 {
     handler.PlatformView?.UpdateStrokeColor(buttonStroke);
 }
 public static void MapStrokeColor(IImageButtonHandler handler, IButtonStroke buttonStroke)
 {
     (handler.PlatformView as Button)?.UpdateStrokeColor(buttonStroke);
 }