【发布时间】:2012-07-09 21:39:27
【问题描述】:
我有一个处理拖放的自定义 WPF 控件。我重写 OnDragOver 以便控件在忙于执行其他操作时不会接受放置的对象:
protected override void OnDragOver(DragEventArgs e)
{
base.OnDragOver(e);
if (isBusy)
e.Effects = DragDropEffects.None;
else
e.Effects = DragDropEffects.Move;
e.Handled = true;
}
在另一个启动拖放的控件中,有一些 UI 元素在操作开始时被禁用,如果操作被取消或在目标上释放鼠标时应该启用,而上面的目标说操作是不允许。
我可以在源代码管理中使用哪些事件来检查第二个条件?
【问题讨论】:
-
只需使用 DoDragDrop() 的返回值即可。如果放置因任何原因未成功,您将获得 DragDropEffects.None。
标签: wpf drag-and-drop