从WPF拖放到不同的目标

12 浏览
0 Comments

从WPF拖放到不同的目标

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

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

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

我假设(可能是错误的)这取决于目标位置我必须附加哪种DataObject,但是在开始拖放时,我不知道用户将把DataObject拖放到哪里。

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

我应该如何初始化DragDrop.DoDragDrop(...)以在我的应用程序中使用内部对象进行拖放,并在我的应用程序外部提供文件名?

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

0
0 Comments

问题的原因是需要实现在WPF应用程序中进行拖放操作,并将数据拖放到不同的目标中,例如记事本。作者在问题中提到,可以在Stack Overflow的一个帖子中找到答案,该帖子给出了从自定义应用程序拖放数据到记事本的解决方法。作者还建议尝试从资源管理器中将数据拖放到应用程序中,并根据数据构建适当的格式。

解决方法是在WPF应用程序中实现拖放操作,并将数据拖放到指定的目标中,例如记事本。通过参考提供的链接,可以找到解决方法,并在问题解决后关闭问题。

0