HashSet<string> _batchedProperties = new HashSet<string>();
int _layoutCallback = 0;
+ bool _movedCallbackEnabled = false;
/// <summary>
/// Default constructor.
{
if (NativeView != null)
{
- NativeView.Moved -= OnMoved;
+ if (_movedCallbackEnabled)
+ {
+ NativeView.Moved -= OnMoved;
+ }
NativeView.Deleted -= NativeViewDeleted;
}
if (NativeView != null)
{
NativeView.Deleted += NativeViewDeleted;
- NativeView.Moved += OnMoved;
+ if (_movedCallbackEnabled)
+ {
+ NativeView.Moved += OnMoved;
+ }
}
widget = NativeView as Widget;
if (changed)
{
NativeView.EvasMap = map;
+ if (!_movedCallbackEnabled)
+ {
+ _movedCallbackEnabled = true;
+ NativeView.Moved += OnMoved;
+ }
+ }
+ else
+ {
+ if (_movedCallbackEnabled)
+ {
+ _movedCallbackEnabled = false;
+ NativeView.Moved -= OnMoved;
+ }
}
}
EFocusDirection ConvertToNativeFocusDirection(string direction) {