From 6bd9a2dc7778afb4e8c2209056dcb5c4d0cf0df1 Mon Sep 17 00:00:00 2001 From: Shane Neuville Date: Tue, 20 Nov 2018 23:29:55 -0700 Subject: [PATCH] [Android] add Element and Element Property Changed hooks for ImageButton --- .../AppCompat/ImageButtonRenderer.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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();