Silverlight DragDropTarget:替换"拖动阴影"与其他元素?

时间:2012-12-13 10:17:44

标签: silverlight drag-and-drop silverlight-toolkit

enter image description here

使用Silverlight Toolkit的DragDropTarget时,光标下会显示被拖动项目的快照。

是否可以替换此快照/拖动阴影或禁用它?

背景: 我在控件之间拖动项目,即从列表框到画布,当我放下我的列表框项目时,我在画布上创建了一个具有不同尺寸的不同项目。我想显示要创建的项目,或者至少显示其区域,而不是列表框中的文本。

This related question没有帮助我。

谢谢!

编辑:This related question建议更改源代码以更改小的“插入指示符”图标。

1 个答案:

答案 0 :(得分:1)

我在使用datarefids中的dragdroptarget的应用程序中遇到了同样的问题,我找到了一个解决方案,但这并没有达到预期的效果。好吧,由于这个解决方案,我能够找到另一种完全符合我想要的方式。

我使用 DragStarting 事件根据从 MouseLeftButtonUp MouseLeftButtonDown 事件收到的输入取消拖动。

在DragStarting事件中:

public void dg1stUnAllocDragStarting (object sender, ItemDragEventArgs e)
    {
        if (blnMouseLeftButtonUp)
        {
            e.Cancel = true;
            e.Handled = true;
        }

        blnMouseLeftButtonUp = false;
    }

MouseLeftButtonUp事件:

public void dataGrid1stUnAllocChild_MouseLeftButtonUp (object sender, MouseButtonEventArgs e)
    {           
        blnMouseLeftButtonUp = true;
    }

MouseLeftButtonDown事件:

public void dataGrid1stUnAllocChild_MouseLeftButtonDown (object sender, MouseButtonEventArgs e)
    {           
        blnMouseLeftButtonUp = false;
        e.Handled = false;           
    }

希望它会对你有所帮助。