Как получить содержимое файла в событии OnDrageEnter из IDragData? - PullRequest
0 голосов
/ 06 марта 2019

В реализации Winforms CefSharp я реализовал IDragHandler.

В событии OnDragEnter я хотел бы получить содержимое файла.

В настоящее время я использую

Dim st As IO.Stream = Nothing
Dim i As Integer = dragData.GetFileContents(st)

Нет данных, записанных в поток.

Можете ли вы получить содержимое файла из файла, перетаскиваемого извне (например, с рабочего стола) в браузер?

Я предполагаю, что этопроблема с исходным кодом, однако, если я перетаскиваю выбранный элемент Outlook, у dragData нет файлов или имени файла, но IsFragment имеет значение true, а FragmentText включает в себя то, что выглядит как некоторая общая информация о теме, похожей на электронную почту.Это проблема верхнего уровня, верно?

1 Ответ

1 голос
/ 08 апреля 2019

Добавление моего комментария к ответу см. Проблема 322605: Поддержка перетаскивания сообщений электронной почты из Microsoft Outlook .

Чтобы закончить, я хотел добавить, как я решил это, пока Chromium не догонит. Я размещаю свой экземпляр winforms CEFSharp в окне WPF. Когда происходит событие CefSharp OnDragEnter, я открываю почти прозрачное всплывающее окно прямо под указателем мыши. В этом всплывающем окне включены события перетаскивания для WPF, и когда они запускаются и дают мне перетаскиваемое содержимое, я закрываю всплывающее окно. Это немного сложнее, чем событие OnDragEnter от пожаров CefSharp после того, как всплывающее окно исчезло, но в противном случае я могу узнать, что перетаскивается.

...