OnEndDrag + OnDrop issue

I have two kind of game objects to make a drag and drop.
A slot object, which implements IDropHandler
A draggable object, which implements IBeginDragHandler, IDragHandler, IEndDragHandler

The problem is the following:

  • If I set the blockRaycasts of the draggable object to true (as it is by default), the OnDrop event does not triggers in the slot object. I think this is the expected behaviour.
  • BUT… if i set the blockraycast to false, then i get the onDrop event on the slot item, but not the onEndDrag on the draggable item, in which i set back the raycasts and other stuff. I think this is not the expected behaviour.

The questions:

  • Is this the expected behaviour for both of my examples?
  • If it is, can the draggable item know by itself that the OnDrop has happened in the slot item without needing to inform him from the OnDrop in the slot item?

Add Canvas Group to the Selected Object. By default, the SelectedObject would by the object from where drag has started(Only if there is a Button Component on that GameObject). You can assign some other object in OnDragStart

Like

eventData.selectedObject = m_DraggingIcon;