DragEffects使用DevExpress Drag& Drop

时间:2016-11-25 07:27:00

标签: c# wpf

我正在使用Devexpress(不幸的是)从一个DXGrid到另一个DXGrid进行拖放。

在我的ViewModel中,我得到了像OnDragOver这样的方法,我想改变光标。但DevExpress GridDragOverEventArgs似乎不支持此功能?

 private void OnDragOver(GridDragOverEventArgs e)
{
 ...
 if(...)
    e.Effects = DragDropEffects.Copy | DragDropEffects.Move;

}

有人知道如何将Cursor设置为标准的Windows Drag& Drop游标吗?

由于

1 个答案:

答案 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,它们会让你实现 以漂亮和分离的方式拖放操作