-2

ユーザーがファイルをドロップできる場所をアプリケーションに追加する必要があります。ファイルをWindowsのフォルダーにドラッグしたときと同じように表示されます。ここには、必要な機能を備えたプログラムがありますが、Windowsフォームを使用して記述されており、wpfを使用しています。ポーグラムは私が必要とする機能を備えているので素晴らしいです。機能をリストアップさせてください。

1)デスクトップとまったく同じアイコンを取得できます。

2)フォルダやファイルを外にドラッグできます。画像上でライブラリフォルダをドラッグしていることに注意してください

ここに画像の説明を入力してください

3)ファイルを右クリックすると、Windowsと同じコンテキストメニューが表示されます

ここに画像の説明を入力してください

4)ファイルとフォルダをにドラッグできます。

ここに画像の説明を入力してください

サンプルファイルダイアログウィンドウはWindowsフォームを使用して作成されており、ソースコードは私が提供した最初のリンクからダウンロードできることに注意してください。

ファイルダイアログを作成したくありません。作成しない場合は、openFileDialogクラスを使用します。ユーザーがファイルをドラッグして選択できる境界線をwpfアプリケーションに埋め込む必要があります。また、ファイルを外部にドラッグして、そこからファイルを開くこともできます。

これらは、wpfアプリケーションに追加する必要がある4つのことです。各メソッドを解決するために、私が行ったことを説明します。

1)

ファイルからアイコンを抽出するために必要なコードを取得するために、さまざまな場所を探してみましたが、デスクトップ上のアイコンと同じようには見えません。私は試しました:これこれと私が今思い出せない他のいくつか。

このステップは簡単になることに注意してください私は他の機能にもっと興味があります

2)

これは最も難しいものかもしれません。私はこれを実装していませんが、この機能を実現するには別のウィンドウが必要になると考えていました。そのウィンドウには画像が含まれます。アイコン上でマウスをドラッグするたびに、このウィンドウをインスタンス化して、ドラッグしている画像をパラメーターとして渡し、onMouseUPのvenentで閉じます。どのウィンドウでマウスを離したかを追跡する方法がわからないので、この手法を実装する必要があるかどうかわかりません

3)

この機能を実装する方法がわかりません。

4)

それは簡単です。唯一の難しい部分は、サムドライブなどの別のディスクからファイルをドラッグする場合があり、それをコピーするためのメソッドが必要になる場合があることです。または、Windowsのスタートメニューからリンクをドラッグすることもできます。

たぶん、ダイアログボックスの機能を使用できます。車輪の再発明をする必要はありません。私はWindowsフォームについてあまり知らないので、そのコードをwpfに実装しようとするのに苦労しています。

4

1 に答える 1

0

必要なのは、Windowsのコントロールを再利用することです。.NETから、これらのコントロールにはWindowsAPIコードパックを介してアクセスできます。

コードパックのWindowsシェルセクション、特に必要なすべての機能を提供するExplorerBrowserコントロールを見てください。

于 2011-10-27T07:01:18.653 に答える