2011-01-28 32 views
0

アイテムをアイコンとして表示するためのカスタムビューを持つListViewがあります。私はまた普通のキャンバスを持っています。 ListViewからアイテムをドラッグしてキャンバスにドロップできるようにしたい。WPF/C#ListViewからキャンバスにドラッグ&ドロップ

ここでは、ドラッグアンドドロップの操作方法に関するさまざまなチュートリアルの場所を見てきました。私が見つけたものは、まったく動作しないか、必要以上に多くのことをしているようです。キャンバスでドロップイベントをフックし、ListViewのPreviewMouseMoveイベントでDoDragDropを呼び出すと機能しないようです。 DragEnter/DragOverがキャンバスに表示されますが、ドロップイベントは発生しません(カーソルは(/)のままです)

DragDropライブラリなどの他のソリューションを調べました。 CodeProjectのドラッグドロップSmorgasbordこれらは、実際のアイテムをコントロールから削除し、コントロールを別の場所に配置するように設計されているようです。これは私が必要とするものではなく、ListViewからキャンバス上のドロップを検出し、いくつかのデータ(ちょうどその文字列)を渡し、そのデータを使ってキャンバス内に新しいUIElementを構築するだけです。

DoDragDropを使用するより簡単なアプローチはありますか?私はまだAdornersなどを持つことができるようにしたいと思いますが、そこのソリューションのいくつかは、私がやるべきことよりも多くの仕事があり、私がとにかく必要なものを正確にやっていないようです。

答えて

0

キャンバスにAllowDrop = "True"プロパティを設定しましたか? 最初の解決策はきれいに見え、うまくいくはずです。

0

こちらのスレッド作成者は...未登録のアカウントで投稿しましたが、この場所はクールだから登録しました!私は自分の問題を理解した。私はDragEnter/DragOverのエフェクトを持ってはいけないものに設定していました。

今私は愚かな気分です。

回答ありがとうございます!

関連する問題