この優れたドラッグ/ドロップ フレームワークを使用しています: http://code.google.com/p/gong-wpf-dragdrop/ A と B の 2 つのリストボックスがあります。B から A にドラッグすると、マウスが必要になります。カーソルがリストボックス A の領域内にあるとすぐに変更されます。
私はほとんどそれを手に入れました。IDropTarget インターフェイスを次のように使用します。
void IDropTarget.DragOver(DragOver drag)
{
drag.Effects = DragDropEffects.Copy | DragDropEffects.Move;
// some logic to determine if hovering over listbox A
// ...
if (hoveringOverListA)
{
ListBoxA.Cursor = ((FrameworkElement) Application.Current.Resources["ListboxACursor"]).Cursor;
}
}
唯一の問題は、カーソルをドラッグしているときに、許可されていない操作 (線が引かれた黒い円) が表示されることです。マウスを放すとすぐに、ListboxACursor が表示されます。つまり、DragOver を実行しているときにドロップするのではなく、ドロップするのを待っているように、反応が遅れているようです。
誰かがコードの何が問題なのかを知ることができれば、私はそれを大いに感謝します. 私はそれが DragDropEffects に関係しているかもしれないと感じていますが、それは主に予感です。