Web浏览器向WPF图像拖放

时间:2010-08-17 22:33:06

标签: c# wpf image drag-and-drop browser

我有一个允许删除的窗口,我的Drop Event Handler对于从Windows资源管理器中拖入的图像工作正常。但是从网络浏览器中拖出图片会有一些怪癖。

在Firefox中,我只获取随机名称的.bmp文件。来自IE 8的图像(尚未测试其他图像)仅显示不允许的鼠标光标。我想这是因为IE将图像拖到Windows资源管理器中时会出现安全提示。

有没有人遇到过一种解决方案,也许与浏览器无关,可以将图像从网页浏览器拖到WPF窗口中?

这是当前的事件处理程序:

private void Window_Drop(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {
            string[] droppedFilePaths = e.Data.GetData(DataFormats.FileDrop, true) as string[];

            foreach (string droppedFilePath in droppedFilePaths)
            {
                Debug.WriteLine(droppedFilePath);
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

我刚刚用IE8偶然发现了这个问题。现在不能浪费时间搞清楚,但是将窗口的PreviewDragEnterPreviewDragOver设置为以下处理程序似乎可以解决此时“不允许”的游标部分:

    private void Window_PreviewDragEnterAndOver ( object sender , DragEventArgs e ) {
        e.Effects = DragDropEffects.Link;
        e.Handled = true;
    }