拖拽从WPF下降到不同的目标

时间:2015-09-04 07:45:07

标签: c# wpf drag-and-drop

我有一个带有树的WFP应用程序,我可以在其中拖放对象。

 DragDrop.DoDragDrop(dragSource, new DataObject(typeof(IFileObject), ((FilePresenter)dragSource.DataContext).FileObject), DragDropEffects.Move | DragDropEffects.Copy);

每个树对象也代表我硬盘上的文件。我希望能够将该对象从我的WPF应用程序拖动到资源管理器(创建副本)或者可能导致Outlook创建附件。

我假设(可能是错误的)它依赖于目标我必须附加什么类型的DataObject,但是在开始拖动时我不会在哪里删除DataObject。

我知道其他应用程序可以创建不同类型的drop。例如,当我在Outlook中拖动电子邮件时,我可以将其移动到其他文件夹。将其拖动到资源管理器将创建一个msg文件。将其拖动到文本编辑器会将电子邮件的主题作为文本插入。

如何通过使用我的内部对象和我的应用程序外部来初始化DragDrop.DoDragDrop(...)来拖放我的应用程序以提供文件名?

这不是Can we drop a file in windows explorer from WPF window?的重复我的问题是如何支持 BOTH 内部和外部拖放(如果可能的话)。

1 个答案:

答案 0 :(得分:1)

您可以在此帖子中找到答案:c# Drag and Drop from my custom app to notepad

要调查正确的格式,也许有助于将一些数据从资源管理器中删除到您的应用程序并尝试相应地构建数据。