Fire TextBox.TextChanged immediately when text is

2019-01-26 06:05发布

问题:

I've got a wpf TextBox, and wired up it's TextChanged event. The problem is that this event only fires when focus is taken away from the textbox.

Is there an event similar to TextChanged that fires immediately when a character is typed into the textbox, rather than when focus changes?

回答1:

You can bind the Text property and make use of the UpdateSourceTrigger.

UpdateSourceTrigger=PropertyChanged

By setting it to PropertyChanged, you will get a notification each and every time the text changes.



回答2:

TextChanged does fire as soon as the text is changed.

(If you have a binding on Text that is not the same thing, it is completely independent from the event.)



回答3:

@Anron answer is correct but i think it works only when we are doing Data binding (using MVVM).

From @thecorp question what i have understood is he is trying to it in code behind file.

You can take advantage of "KeyDown" and "KeyUp" events of textbox or if you are using data binding Aaron anwer should resolve your issue.