いくつかの項目を含む単一選択モードの ListBox があります。ユーザーがドラッグ&ドロップでアイテムを並べ替えることができるように実装しました。すべて正常に動作しますが、マウスボタンが押された状態でカーソルが項目の上を移動すると、リストボックスが項目を自動的に選択するため、見栄えが非常に悪くなります。
具体的に言うと、状況によってはちらつきを無効にするために、アイテムが別のアイテムの上に半分以上ドラッグされた場合にのみ、アイテムを移動します。item2の上にitem1をドラッグしてitem2の後ろに配置すると、ドラッグ中にitem1が選択されます。何が起こるかというと、カーソルが item2 の上に移動するとすぐに item2 が選択されます。どうすればこの動作を取り除くことができますか?
アイテムのドラッグ中に PreviewMouseMove で e.Handled = true を設定しようとしましたが、これは役に立ちません。
コードを見たい場合は、ここにあります: http://pastebin.com/GTj96qV9 . これは、DataSource として IList を持つすべてのリストボックスを有効にして、その内容をドラッグして並べ替えることができる動作です。