2013-05-16 102 views
3

我不知道在TextChanged之前是否可以使KeyDown事件觸發器?TextChanged事件之前的KeyDown

我已經爲簡單的TextBox添加了這兩個事件,現在我想檢查是否按下了Delete鍵。如果是,<do nothing>,如果沒有<so something>。我創建了一個boolean場,一個可以「記住」如果我按Delete,但問題是TextChangedKeyDown觸發,所以它不工作...

回答

6

要取消keydown事件,您可以添加PreviewKeyDown:

private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
    if(e.Key == Key.Delete) 
    e.Handled = true; 
} 
+0

很好的解決方案之間的差別! Thx Piotrek :) – Nickon

2

怎麼樣PreviewKeyDown事件?

編輯:

PreviewKeyDown事件是一個隧道路由事件,它向下行進包容層次。 KeyDown事件是冒泡路由事件,它沿着收容層次結構傳播。

+0

謝謝,它的工作:)我不知道什麼是預覽和正常的KeyDown :) – Nickon