C# 拖放;从WPF拖放到不同的目标

C# 拖放;从WPF拖放到不同的目标,c#,wpf,drag-and-drop,C#,Wpf,Drag And Drop,我有一个带有树的WFP应用程序,可以在其中拖放对象 DragDrop.DoDragDrop(dragSource, new DataObject(typeof(IFileObject), ((FilePresenter)dragSource.DataContext).FileObject), DragDropEffects.Move | DragDropEffects.Copy); 每个树对象还表示我的硬盘上的一个文件。我还希望能够将该对象从WPF应用程序拖到资源管理器(创建副本),或者拖到

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

 DragDrop.DoDragDrop(dragSource, new DataObject(typeof(IFileObject), ((FilePresenter)dragSource.DataContext).FileObject), DragDropEffects.Move | DragDropEffects.Copy);
每个树对象还表示我的硬盘上的一个文件。我还希望能够将该对象从WPF应用程序拖到资源管理器(创建副本),或者拖到Outlook创建附件

我假设(可能是错误的)这取决于目标,我必须附加什么样的数据对象,但在开始拖动时,我不知道用户将数据对象放在哪里

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

我必须如何初始化
DragDrop.DoDragDrop(…)
才能使用我的内部对象在我的应用程序内部拖放,并在应用程序外部提供文件名?


这不是重复我的问题,我的问题是如何支持内部和外部拖放(如果可能的话)。

你可以在这篇文章中找到答案:


为了研究正确的格式,可能需要将一些数据从资源管理器中删除到您的应用程序中,并尝试相应地构建数据。

和@netaholic的可能重复:请再次阅读我的问题。第一个可能的副本并不旨在支持内部和外部拖放。第二个问题是关于如何进入WPF,这不是我要问的。谢谢你指出正确的副本(那里的答案解决了我的问题)。我将结束这个问题。