TextChanged事件之前的KeyDown

时间:2013-05-16 14:03:02

标签: c# wpf events

我想知道是否可以在KeyDown之前触发TextChanged事件?

我已为简单的TextBox添加了这两个事件,现在我想检查是否按下了Delete键。如果是,<do nothing>,如果没有<so something>。我创建了一个boolean字段,如果我按了Delete,就会“记住”,但KeyDown之后问题是TextChanged触发,所以它不起作用......

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:2)

PreviewKeyDown事件呢?

编辑:

PreviewKeyDown事件是一个隧道路由事件,它沿着包含层次结构传播。 KeyDown事件是一个冒泡的路由事件,它沿着收容层次结构向上移动。