使用Silverlight Toolkit的DragDropTarget时,光标下会显示被拖动项目的快照。
是否可以替换此快照/拖动阴影或禁用它?
背景: 我在控件之间拖动项目,即从列表框到画布,当我放下我的列表框项目时,我在画布上创建了一个具有不同尺寸的不同项目。我想显示要创建的项目,或者至少显示其区域,而不是列表框中的文本。
This related question没有帮助我。
谢谢!
编辑:This related question建议更改源代码以更改小的“插入指示符”图标。
答案 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;
}
希望它会对你有所帮助。