diff --git a/src/Controls/src/Core/Platform/GestureManager/GesturePlatformManager.Windows.cs b/src/Controls/src/Core/Platform/GestureManager/GesturePlatformManager.Windows.cs index 6c721859b019..68927277fe23 100644 --- a/src/Controls/src/Core/Platform/GestureManager/GesturePlatformManager.Windows.cs +++ b/src/Controls/src/Core/Platform/GestureManager/GesturePlatformManager.Windows.cs @@ -315,6 +315,7 @@ void ClearContainerEventHandlers() { _subscriptionFlags &= ~SubscriptionFlags.ContainerDragEventsSubscribed; + _container.CanDrag = false; _container.DragStarting -= HandleDragStarting; _container.DropCompleted -= HandleDropCompleted; } @@ -323,6 +324,7 @@ void ClearContainerEventHandlers() { _subscriptionFlags &= ~SubscriptionFlags.ContainerDropEventsSubscribed; + _container.AllowDrop = false; _container.DragOver -= HandleDragOver; _container.Drop -= HandleDrop; _container.DragLeave -= HandleDragLeave; @@ -719,15 +721,13 @@ void UpdateDragAndDropGestureRecognizers() } bool canDrag = gestures.FirstGestureOrDefault()?.CanDrag ?? false; - _container.CanDrag = canDrag; - bool allowDrop = gestures.FirstGestureOrDefault()?.AllowDrop ?? false; - _container.AllowDrop = allowDrop; if (canDrag) { _subscriptionFlags |= SubscriptionFlags.ContainerDragEventsSubscribed; + _container.CanDrag = true; _container.DragStarting += HandleDragStarting; _container.DropCompleted += HandleDropCompleted; } @@ -736,6 +736,7 @@ void UpdateDragAndDropGestureRecognizers() { _subscriptionFlags |= SubscriptionFlags.ContainerDropEventsSubscribed; + _container.AllowDrop = true; _container.DragOver += HandleDragOver; _container.Drop += HandleDrop; _container.DragLeave += HandleDragLeave;