如何将图片从资源管理器拖放到 WPF 控件上?
Posted
技术标签:
【中文标题】如何将图片从资源管理器拖放到 WPF 控件上?【英文标题】:How can I drag and drop a picture from Explorer onto a WPF control? 【发布时间】:2012-05-06 09:04:37 【问题描述】:我四处寻找答案,但似乎没有一个明确的例子来说明如何做到这一点!
我只是希望能够从桌面/资源管理器中抓取图片并将其拖放到 WPF 图像控件或类似控件上。
谁能指出我正确的方向?我已经看到了大量关于从应用程序到应用程序、在应用程序内或从应用程序到桌面拖放的示例,但反之则几乎没有。
我猜需要某种形式的剪贴板交互。
【问题讨论】:
【参考方案1】:您需要在图像控件上启用拖放功能,然后只需在事件处理程序中打开您拖放到它的文件即可。
查看Drag and drop files into WPF的答案 (如果有帮助,请记住对该问题的最高答案进行投票:))
private void ImagePanel_Drop(object sender, DragEventArgs e)
if (e.Data.GetDataPresent(DataFormats.FileDrop))
// Note that you can have more than one file.
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
// Assuming you have one file that you care about, pass it off to whatever
// handling code you have defined.
HandleFileOpen(files[0]);
【讨论】:
我认为 HandleFileOpen 是您自己定义的一种方法。然后我将如何从此字符串中设置图像控件的图像源?我之前只使用项目本身的资源完成了这项工作。非常感谢您迄今为止的帮助:) 是的 HandlFileOpen 是你自己定义的方法,所以现在你有了打开文件和设置图片源需要的文件路径,看下面的文章“你也可以从一个物理文件” - nahidulkibria.blogspot.co.uk/2009/01/…以上是关于如何将图片从资源管理器拖放到 WPF 控件上?的主要内容,如果未能解决你的问题,请参考以下文章
将文件拖放到 wpf/C# 应用程序时,如何在 Windows 资源管理器中维护文件顺序?
从 Windows 文件资源管理器拖放到 Windows 窗体不起作用