From d7f6fc894a6837fd032b76d9aa38b7a7b2a02c17 Mon Sep 17 00:00:00 2001 From: SungHyun Min Date: Fri, 25 Aug 2017 14:24:31 +0900 Subject: Fix the issue that gesture ignores IsEnable=false on Element TASK=TCAPI-2623 Change-Id: I8a5f223348b0028953ee22c878d3b0f94baad631 --- Xamarin.Forms.Platform.Tizen/GestureDetector.cs | 17 +++++++++++++++++ Xamarin.Forms.Platform.Tizen/Renderers/ViewRenderer.cs | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/Xamarin.Forms.Platform.Tizen/GestureDetector.cs b/Xamarin.Forms.Platform.Tizen/GestureDetector.cs index 720b23f4..6bf15fa6 100644 --- a/Xamarin.Forms.Platform.Tizen/GestureDetector.cs +++ b/Xamarin.Forms.Platform.Tizen/GestureDetector.cs @@ -22,6 +22,22 @@ namespace Xamarin.Forms.Platform.Tizen View View => _renderer.Element as View; + public bool IsEnabled + { + get + { + if (_gestureLayer != null) + return _gestureLayer.IsEnabled; + + return false; + } + set + { + if (_gestureLayer != null) + _gestureLayer.IsEnabled = value; + } + } + public GestureDetector(IVisualElementRenderer renderer) { _renderer = renderer; @@ -59,6 +75,7 @@ namespace Xamarin.Forms.Platform.Tizen _gestureLayer = null; Clear(); }; + _gestureLayer.IsEnabled = _renderer.Element.IsEnabled; } void AddGestures(IEnumerable recognizers) diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/ViewRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/ViewRenderer.cs index c086f935..4f981240 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/ViewRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/ViewRenderer.cs @@ -1,3 +1,4 @@ +using System.ComponentModel; using ElmSharp; namespace Xamarin.Forms.Platform.Tizen @@ -34,6 +35,16 @@ namespace Xamarin.Forms.Platform.Tizen } } + protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) + { + base.OnElementPropertyChanged(sender, e); + + if (e.PropertyName == VisualElement.IsEnabledProperty.PropertyName) + { + UpdateIsEnabled(); + } + } + /// /// Native control associated with this renderer. /// @@ -44,5 +55,10 @@ namespace Xamarin.Forms.Platform.Tizen return (TNativeView)NativeView; } } + + void UpdateIsEnabled() + { + _gestureDetector.IsEnabled = Element.IsEnabled; + } } } \ No newline at end of file -- cgit v1.2.3