我正在使用这个很棒的拖放框架:http ://code.google.com/p/gong-wpf-dragdrop/ 我有两个列表框 - A 和 B。当我从 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 出现。所以它就像是一个延迟的反应,就像它在等待我 Drop 而不是在我 DragOver'ing 时执行它。
如果有人能看到代码有什么问题,我将不胜感激。我有一种感觉,这可能与 DragDropEffects 有关,但这主要是一种预感。