2017-08-15 37 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