2010-09-21 57 views
2

我有一个WPF用户控件托管在Windows窗体应用程序中,并且该控件包含一个WPF图像(以及其他内容),并且想知道是否可以让用户拖动这个图像到应用程序外(到Windows资源管理器,到桌面,到一个文件夹)?WPF Image:让用户拖动图像到桌面

问候, MadSeb

+0

将什么东西拖到桌面上?你的意思是让它成为背景图像,或者将文件拖放到桌面上? – 2010-09-21 14:34:59

+0

嗨..我的意思是说拖放应用程序外的文件。 (这可以是从应用程序拖放到桌面,到文件夹或Windows资源管理器) – MadSeb 2010-09-21 14:40:09

回答

1

这是可能的 - 当你开始拖/放操作(DoDragDrop),你在IDataObject的传递 - 这是关键,让你想要什么。

执行此操作的简单方法是使用一个正常的DataObject与DataFormats.FileDrop,并为其指定文件的名称。不幸的是,这不是你想要的,但是你做这个的快速和肮脏的方法是创建一个临时文件并将其作为名称传递。完成。

困难的方法是实现IDataObject并提供一个虚拟(内存中)文件,其中包含所需的图像。有关于codeplex约transferring virtual files to windows explorer通过拖放应该让你开始的文章。另请参阅Drag and drop virtual files using IStream