拖,从WPF掉落到不同的目标

本文关键字:目标 WPF | 更新日期: 2023-09-27 18:11:13

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

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

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

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

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

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

这不是"我们可以从WPF窗口中删除windows资源管理器中的文件吗?"我的问题是如何支持内部和外部拖放(如果可能的话)。

拖,从WPF掉落到不同的目标

你可以在这篇文章中找到答案:c#从我的自定义应用程序拖放到记事本

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