diff options
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs index 37e2a036..a103abf7 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs @@ -45,6 +45,7 @@ namespace Xamarin.Forms.Platform.Tizen HashSet<string> _batchedProperties = new HashSet<string>(); int _layoutCallback = 0; + bool _movedCallbackEnabled = false; /// <summary> /// Default constructor. @@ -426,7 +427,10 @@ namespace Xamarin.Forms.Platform.Tizen { if (NativeView != null) { - NativeView.Moved -= OnMoved; + if (_movedCallbackEnabled) + { + NativeView.Moved -= OnMoved; + } NativeView.Deleted -= NativeViewDeleted; } @@ -442,7 +446,10 @@ namespace Xamarin.Forms.Platform.Tizen if (NativeView != null) { NativeView.Deleted += NativeViewDeleted; - NativeView.Moved += OnMoved; + if (_movedCallbackEnabled) + { + NativeView.Moved += OnMoved; + } } widget = NativeView as Widget; @@ -1002,6 +1009,19 @@ namespace Xamarin.Forms.Platform.Tizen if (changed) { NativeView.EvasMap = map; + if (!_movedCallbackEnabled) + { + _movedCallbackEnabled = true; + NativeView.Moved += OnMoved; + } + } + else + { + if (_movedCallbackEnabled) + { + _movedCallbackEnabled = false; + NativeView.Moved -= OnMoved; + } } } EFocusDirection ConvertToNativeFocusDirection(string direction) { |