2010-09-08 28 views
1

我有一個文本框和標籤存在的WPF窗體。在文本框的「Lost Focus」事件中,我正在做一些驗證,如果驗證失敗,我將在標籤中顯示一條錯誤消息並將焦點放回在文本框上。問題是,因爲我把焦點回到上的文字不中,在「LOST_FOCUS事件又在發解僱,被遞歸調用我的驗證功能,我得到一個‘StackOverflow的’異常WPF:把焦點放回文本框遞歸調用失去焦點事件。如何解決?

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

如果我評論的行把光標/焦點在文本框中,一切正常。但我需要光標是在文本框中如果驗證失敗

任何思考如何擺脫呢?

回答

0

如何處理TextBox.PreviewLostKeyboardFocus呢?在事件處理程序中,只要驗證失敗就設置「e.Handled = true」?

+0

PreviewLostKeyboardFocus將只處理鍵盤input.my應用程序將使用條形碼掃描儀讀取文本框中的值 – Shyju 2010-09-08 14:57:47

+0

我認爲它應該仍然工作相同,不是嗎?你試過了嗎? – ASanch 2010-09-08 15:05:51

+0

不是沒有工作 – Shyju 2010-09-09 19:49:04