summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Renderers
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/VisualElementRenderer.cs24
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) {