2010-09-21 56 views
2

我有一個WPF用戶控件託管在Windows窗體應用程序中,並且該控件包含一個WPF圖像(以及其他內容),並且想知道是否可以讓用戶拖動這個圖像到應用程序外(到Windows資源管理器,到桌面,到一個文件夾)?WPF Image:讓用戶拖動圖像到桌面

問候, MadSeb

+0

將什麼東西拖到桌面上?你的意思是讓它成爲背景圖像,或者將文件拖放到桌面上? – 2010-09-21 14:34:59

+0

嗨..我的意思是說拖放應用程序外的文件。 (這可以是從應用程序拖放到桌面,到文件夾或Windows資源管理器) – MadSeb 2010-09-21 14:40:09

回答

1

這是可能的 - 當你開始拖/放操作(DoDragDrop),你在IDataObject的傳遞 - 這是關鍵,讓你想要什麼。

執行此操作的簡單方法是使用一個正常的DataObject與DataFormats.FileDrop,併爲其指定文件的名稱。不幸的是,這不是你想要的,但是你做這個的快速和骯髒的方法是創建一個臨時文件並將其作爲名稱傳遞。完成。

困難的方法是實現IDataObject並提供一個虛擬(內存中)文件,其中包含所需的圖像。有關於codeplex約transferring virtual files to windows explorer通過拖放應該讓你開始的文章。另請參閱Drag and drop virtual files using IStream