3
我注意到,當一個窗口正在處理其中的文本框引發的KeyDown事件並將事件Handled標誌設置爲true時,文本框忽略了按下的按鍵並不會將其添加到其內容中。WPF文本框「知道」KeyDown事件是如何處理的
根據我對事物如何工作的理解,如果首先從窗口到文本框,然後是KeyDown事件,PreviewKeyDown事件從文本框冒泡到窗口。當窗口的事件處理程序獲取設置Handled事件時,該事件不再由TextBox處理,但我確實看到它具有效果,並且按下的鍵不會添加到TextBox。
有人可以解釋這是如何工作的?
(這是一個普遍的問題,但是在我們使用的第三方控件中看到類似的行爲後引發了這個問題,並且它引發了一些問題,因爲我希望控件處理事件但阻止它冒泡)
我瞭解事件的順序。我不明白的是,如果TextBox在包含窗口中處理完成(泡泡)時如何獲取事件處理的信息。我希望TextBox在處理事件時檢查Handled標誌,當它到達TextBox時,但事後不會。 – splintor