WPF拖放:如何区分删除

时间:2018-01-02 19:26:16

标签: c# wpf drag-and-drop

当我开始像这样拖动时,我正在实施WPF DragAndDrop 移动

DragDrop.DoDragDrop(sender, objToDrag, DragDropEffects.Move);

然后我想添加副本(例如,在拖动时按下Ctrl键)。如果我按上面的代码按下它,没有任何变化。要启用复制行为,我修改了代码,如下所示:

DragDrop.DoDragDrop(sender, objToDrag, DragDropEffects.Move | DragDropEffects.Copy);

现在当我按住Ctrl键的同时拖动鼠标光标变为系统定义的复制光标(带有“+”符号的箭头)。

然后问题:如何区分副本和操作接收端的移动,处理丢弃?

DragEventArgs.Effects处理程序中的Drop字段始终等于DragDropEffects.Move | DragDropEffects.Copy,无论是否按下Ctrl按钮。奇怪的是,AllowedEffects预计会包含这个组合,我希望效果能够在下降时保持有效组合 - 但事实并非如此。

这是否意味着我应该自己跟踪Ctrl状态?我希望操作系统/框架应该隐藏这些细节。

0 个答案:

没有答案