32

私のシナリオに従って。

データベースからWPFリストビューにファイル構造(フォルダー、ファイル)を読み込むアプリケーションを入手しました。次に、このListViewからファイルを取得し、デスクトップ(または開いているエクスプローラーウィンドウ)にドラッグして、そこにドロップします。基本的なドラッグアンドドロップ、特別なことは何もありません。これはWindowsアプリケーションの「標準」機能のように聞こえますが、Googleは役に立ちません。

では、どうすればこれを達成できますか?インターロップ?

ありがとう

編集:解決策をありがとう、私はまだいくつかのグーグルをしなければなりませんでした。これが私の完全な解決策です。

4

1 に答える 1

30

DragDrop.DoDragDrop適切な を渡す限り、これを行うことができますDataObject

まず、ファイルをどこかにコピーします。System.IO.Path.GetTempPath()他にいいところがなければ使えます。

次に、ファイルへのフル パスを含む文字列配列を作成し、次の操作を行います。

string[] paths = ...;
DragDrop.DoDragDrop(this, new DataObject(DataFormats.FileDrop, paths),
                    DragDropEffects.Copy); 

ファイルを事前にコピーせずにこれを行うことは実際には可能ですが、複雑な IDataObject の相互作用が発生するため、ファイルが非常に大きくなる可能性があり、まだファイルシステムにない場合を除き、最初にこの方法を試します。

于 2010-06-15T08:03:03.257 に答える