bool IRenderWebBrowser.StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { var dataObject = new DataObject(); dataObject.SetText(dragData.FragmentText, TextDataFormat.Text); dataObject.SetText(dragData.FragmentText, TextDataFormat.UnicodeText); dataObject.SetText(dragData.FragmentHtml, TextDataFormat.Html); // TODO: The following code block *should* handle images, but GetFileContents is // not yet implemented. //if (dragData.IsFile) //{ // var bmi = new BitmapImage(); // bmi.BeginInit(); // bmi.StreamSource = dragData.GetFileContents(); // bmi.EndInit(); // dataObject.SetImage(bmi); //} UiThreadRunAsync(delegate { var results = DragDrop.DoDragDrop(this, dataObject, GetDragEffects(mask)); managedCefBrowserAdapter.OnDragSourceEndedAt(0, 0, GetDragOperationsMask(results)); managedCefBrowserAdapter.OnDragSourceSystemDragEnded(); }); return(true); }