@@ -489,6 +489,7 @@ private void NoInliningConstructor()
489489 DragOver += OnDragOver ;
490490 DragLeave += OnDragLeave ;
491491 Drop += OnDrop ;
492+ GiveFeedback += OnGiveFeedback ;
492493
493494 IsVisibleChanged += OnIsVisibleChanged ;
494495
@@ -610,6 +611,7 @@ protected virtual void Dispose(bool isDisposing)
610611 DragOver -= OnDragOver ;
611612 DragLeave -= OnDragLeave ;
612613 Drop -= OnDrop ;
614+ GiveFeedback -= OnGiveFeedback ;
613615
614616 IsVisibleChanged -= OnIsVisibleChanged ;
615617
@@ -788,7 +790,7 @@ void IRenderWebBrowser.UpdateDragCursor(DragOperationsMask operation)
788790 protected virtual void UpdateDragCursor ( DragOperationsMask operation )
789791 {
790792 var dragCursor = DragCursorProvider . GetCursor ( operation ) ;
791- UiThreadRunSync ( ( ) => Mouse . SetCursor ( dragCursor ) ) ;
793+ UiThreadRunAsync ( ( ) => Mouse . SetCursor ( dragCursor ) ) ;
792794 }
793795
794796 /// <summary>
@@ -1532,6 +1534,16 @@ private void OnDragOver(object sender, DragEventArgs e)
15321534 }
15331535 }
15341536
1537+ /// <summary>
1538+ /// Handles the <see cref="E:GiveFeedback" /> event.
1539+ /// </summary>
1540+ /// <param name="sender">The sender.</param>
1541+ /// <param name="e">The <see cref="GiveFeedbackEventArgs"/> instance containing the event data.</param>
1542+ private void OnGiveFeedback ( object sender , GiveFeedbackEventArgs e ) {
1543+ /// prevent showing default cursor, the appropriate cursor will be set by <see cref=UpdateDragCursor />
1544+ e . Handled = true ;
1545+ }
1546+
15351547 /// <summary>
15361548 /// Handles the <see cref="E:DragEnter" /> event.
15371549 /// </summary>
0 commit comments