2017-08-15 80 views
-1

我有2个拖放操作。一个在MainWindow中,另一个在标签上。问题在于,当您将文件放在标签上时,它首先执行MainWindow_Drop,然后执行label_Drop,因为您将它放在表单上以及标签上。当我将文件放在标签上时不能在同一时间执行MainWindow_Drop,我该如何管理。WPF中的2个拖放之间的冲突

在MainWindow上拖放的原因是因为用户应该能够在表单中的任何位置放置该文件。关于这个标签,因为应该有另一个选项只适用于该标签。

回答

0

设置Handled属性为true在处理程序Label

private void Label_Drop(object sender, DragEventArgs e) 
{ 
    e.Handled = true; 
} 
+0

这没有工作,但我发现label.IsMouseOver。所以最后,我在MainWindow_Drop中添加了所有代码,并加上了检查。不管怎么说,还是要谢谢你! – Nox

+1

它应该工作,如果你正在处理Drop事件(而不是PreviewDrop)。它当然适用于我。 – mm8

+0

@ mm8我同意它应该可以工作(可能会检查一些细节),但是由于该问题明确指出'MainWindow_Drop'在'label_Drop'之前首先执行(无论出于何种原因),所以这个答案并不真正关注所描述的问题。 – grek40