【发布时间】:2015-11-30 07:10:07
【问题描述】:
我有一个带有树的 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? 的副本我的问题是如何支持BOTH 内部和外部拖放(如果可能的话)。
【问题讨论】:
-
@netaholic:请再次阅读我的问题。第一个可能的副本并不旨在支持内部和外部的拖放。第二个问题是关于如何进入WPF,这不是我问的。
标签: c# wpf drag-and-drop