从WPF拖放到不同的目标
从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?的重复问题。我的问题是如何同时支持内部和外部的拖放(如果可能的话)。