diff --git a/Xamarin.Forms.Platform.Android/AppCompat/ImageButtonRenderer.cs b/Xamarin.Forms.Platform.Android/AppCompat/ImageButtonRenderer.cs index 70410e6e3aa..0bfcf6b29bf 100644 --- a/Xamarin.Forms.Platform.Android/AppCompat/ImageButtonRenderer.cs +++ b/Xamarin.Forms.Platform.Android/AppCompat/ImageButtonRenderer.cs @@ -172,10 +172,15 @@ void IVisualElementRenderer.SetElement(VisualElement element) UpdateInputTransparent(); UpdatePadding(); - ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(oldElement, ImageButton)); + OnElementChanged(new ElementChangedEventArgs(oldElement, ImageButton)); ImageButton?.SendViewInitialized(Control); } + protected virtual void OnElementChanged(ElementChangedEventArgs e) + { + ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement)); + } + public override void Draw(Canvas canvas) { if (ImageButton == null) @@ -258,8 +263,7 @@ void UpdateInputTransparent() _inputTransparent = ImageButton.InputTransparent; } - // Image related - void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) + protected virtual void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == VisualElement.InputTransparentProperty.PropertyName) UpdateInputTransparent();