WPF:将焦点放回文本框递归调用Lost焦点事件。如何解决?

时间:2010-09-08 14:40:15

标签: wpf events focus lost-focus

我有一个WPF表单,其中存在文本框和标签。在文本框的“Lost Focus”事件中,我正在进行一些验证,如果验证失败,我将在标签中显示错误消息并放置焦点回到文本框。问题是,因为我把焦点放回文本bos,“Lost_Focus事件再次被触发,我的验证函数被递归调用,我得到一个”StackOverflow“异常

  An unhandled exception of type 'System.StackOverflowException' occurred in 
  mscorlib.dll

如果我评论将光标/焦点放在文本框中的行,一切都运行良好。但是如果验证失败,我需要将光标放在文本框中

有任何想法如何摆脱这个?

1 个答案:

答案 0 :(得分:0)

如何处理TextBox.PreviewLostKeyboardFocus呢?在事件处理程序中,只要验证失败就设置“e.Handled = true”?