我正在使用Devexpress(不幸的是)从一个DXGrid到另一个DXGrid进行拖放。
在我的ViewModel中,我得到了像OnDragOver
这样的方法,我想改变光标。但DevExpress GridDragOverEventArgs
似乎不支持此功能?
private void OnDragOver(GridDragOverEventArgs e)
{
...
if(...)
e.Effects = DragDropEffects.Copy | DragDropEffects.Move;
}
有人知道如何将Cursor设置为标准的Windows Drag& Drop游标吗?
由于
答案 0 :(得分:0)
您可以简单地处理GiveFeedback事件并根据自己的喜好更改光标。
private void OnGiveFeedback(object sender, GiveFeedbackEventArgs e)
{
if (e.Effects == DragDropEffects.Move
|| e.Effects == DragDropEffects.Copy
|| e.Effects == DragDropEffects.Scroll)
{
e.UseDefaultCursors = false;
Mouse.SetCursor(Cursors.Hand);
}
else
e.UseDefaultCursors = true;
e.Handled = true;
}
请注意,在ViewModel中安装这些事件会破坏 MVVM模式。看看AttachedBehaviors,它们会让你实现 以漂亮和分离的方式拖放操作