2011-02-16 74 views
0

我有一個包含文本框的窗口。PreviewMouseDoubleClic處理被忽略

在窗口和文本框上,我添加了一個PreviewMouseDoubleClicHandler。

處理程序窗口:

private void PreviewMouseDoubleClickHandler(object sender, MouseButtonEventArgs e) 
{ 
    Debug.WriteLine("handler in the window"); 
    e.Handled = true; 
} 

處理程序中的文本框中:現在

private void PreviewMouseDoubleClickHandler(object sender, MouseButtonEventArgs e) 
{ 
    Debug.WriteLine("handler in the textBox"); 
    e.Handled = true; 
} 

,當我在文本框中雙擊,我希望先進入窗口的處理程序,打印調試線,然後處理事件,然後就是更多。我以爲textBox的處理程序不會觸發,因爲事件已經被窗口處理了。

雖然這不起作用,但我得到了兩個處理程序。

奇怪的是:它適用於PreviewMouseDown事件。如果我使用PreviewMouseDownEvents執行完全相同的操作,則會得到我期望的行爲,即:窗口處理mouseDown,並且不會觸發文本框的處理程序。

so爲什麼這不適用於doubleClick事件?難道我做錯了什麼?它應該像這樣工作嗎?是以不同的方式管理的doubleClick事件,這會阻止我使用隧道的優勢?

回答