2012-01-18 39 views
12

我有一個wpf文本框,並連線了它的TextChanged事件。問題是隻有當焦點從文本框中移除時纔會觸發此事件。當TextBox.TextChanged文字輸入時立即

是否有類似於TextChanged的事件立即觸發當在文本框中鍵入字符而不是焦點更改時?

回答

23

您可以綁定Text屬性並使用UpdateSourceTrigger

UpdateSourceTrigger=PropertyChanged 

通過將其設置爲PropertyChanged,您將在每次文本更改時收到通知。

+0

plz幫助。我有同樣的問題,並在調試器上有界的屬性似乎返回正確的值,但文本框不會刷新它。我們的用例是我們拒絕用戶的輸入,並希望保留以前的值。 – ilans 2016-06-09 09:33:47

+0

這是可編譯 - >不帶引號,如下所示: sam 2017-01-05 16:45:30

2

@Aron的答案是正確的,但我認爲它只適用於我們正在做數據綁定(使用MVVM)。

從@thecorp問題我明白他是在代碼背後嘗試它的文件。

您可以利用文本框的「KeyDown」和「KeyUp」事件,或者如果您使用數據綁定Aaron anwer應該可以解決您的問題。

12

TextChanged確實只要文本發生變化就會觸發。

(如果你有一對Text結合是同樣的事情,它是從事件完全獨立的。)