GiveFeedback event in Windows Presentation Foundation Drag/Drop

Although the documentation may not make it clear, GiveFeedback is an event that happens on the source side of a drag/drop operation. If you look at https://windowssdk.msdn.microsoft.com/en-us/library/system.windows.givefeedbackeventargs.effects.aspx, you’ll see that the arguments really have one interesting property, Effects, of type DragDropEffects (https://windowssdk.msdn.microsoft.com/en-us/library/system.windows.dragdropeffects.aspx).

This property gives you information about what would happen if the user was to let go. So, for example, if the effect was going to be a Move rather than a Copy, then you might choose to blur the selected item, to indicate that it’s about to go away. You can also set the cursor based on the requested effect using the arguments. WPF will handle the standard behavior for you.

Note that this event is also described in the WinForms documentation at https://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscontrolclassgivefeedbacktopic.asp. You can also get information on drag/drop from these pages, or even the OLE Drag/Drop documentation at https://windowssdk.msdn.microsoft.com/en-us/library/ms692464.aspx. Even though the specific might change, the reason this works is that the drag/drop protocol itself was designed to be usable across different processes built on different languages/platforms, and so you can read about what each implementation has to say about how they view things - it all works in the end.