如何从 IDragData 获取 OnDrageEnter 事件中的文件内容?
How to get the file content in the OnDrageEnter event from IDragData?
在 CefSharp 的 winforms 实现中,我实现了 IDragHandler。
在OnDragEnter事件中我想获取文件内容。
目前我正在使用
Dim st As IO.Stream = Nothing
Dim i As Integer = dragData.GetFileContents(st)
没有数据写入流。
能否从外部(例如桌面)拖到浏览器上的文件中获取文件内容?
我认为这是一个上游问题,但是,如果我拖动一个选定的 Outlook 项目,则 dragData 没有文件或文件名,但 IsFragment 为 true,并且 FragmentText 包含一些看起来像关于电子邮件的一般信息,如主题.这是上游问题吧?
将我的评论添加到答案中,请参阅 Issue 322605: Drag and Drop support for E-Mails from Microsoft Outlook。
为了完整起见,我想补充一下我是如何解决这个问题的,直到 Chromium 赶上来。我在 WPF window 中托管我的 CEFSharp winforms 实例。当 CefSharp OnDragEnter 事件触发时,我直接在鼠标指针下方打开一个几乎透明的弹出窗口。这个弹出窗口启用了 WPF 的拖动事件,一旦它们触发并给我拖动的内容,我就关闭弹出窗口。这有点棘手,因为 CefSharp 的 OnDragEnter 事件会在弹出窗口消失后触发,否则我可以找出正在拖动的内容。
在 CefSharp 的 winforms 实现中,我实现了 IDragHandler。
在OnDragEnter事件中我想获取文件内容。
目前我正在使用
Dim st As IO.Stream = Nothing
Dim i As Integer = dragData.GetFileContents(st)
没有数据写入流。
能否从外部(例如桌面)拖到浏览器上的文件中获取文件内容?
我认为这是一个上游问题,但是,如果我拖动一个选定的 Outlook 项目,则 dragData 没有文件或文件名,但 IsFragment 为 true,并且 FragmentText 包含一些看起来像关于电子邮件的一般信息,如主题.这是上游问题吧?
将我的评论添加到答案中,请参阅 Issue 322605: Drag and Drop support for E-Mails from Microsoft Outlook。
为了完整起见,我想补充一下我是如何解决这个问题的,直到 Chromium 赶上来。我在 WPF window 中托管我的 CEFSharp winforms 实例。当 CefSharp OnDragEnter 事件触发时,我直接在鼠标指针下方打开一个几乎透明的弹出窗口。这个弹出窗口启用了 WPF 的拖动事件,一旦它们触发并给我拖动的内容,我就关闭弹出窗口。这有点棘手,因为 CefSharp 的 OnDragEnter 事件会在弹出窗口消失后触发,否则我可以找出正在拖动的内容。