2012-01-18 65 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结合是同样的事情,它是从事件完全独立的。)

相关问题