2012-01-18 13 views
12

Ho un TextBox wpf e ho cablato l'evento TextChanged. Il problema è che questo evento si attiva solo quando la messa a fuoco viene rimossa dalla casella di testo.Fire TextBox.TextChanged immediatamente quando si digita il testo in

C'è un evento simile a TextChanged che spara immediatamente quando un personaggio viene digitato nella casella di testo, piuttosto che quando i cambiamenti di messa a fuoco?

risposta

23

È possibile associare la proprietà Text e utilizzare lo UpdateSourceTrigger.

UpdateSourceTrigger=PropertyChanged 

impostandolo su PropertyChanged, si otterrà una notifica ogni volta che il testo cambia.

+0

Plz aiuto. Ho avuto lo stesso problema e sul debugger la proprietà limitata sembra restituire il valore corretto, ma la casella di testo non viene aggiornata con esso. Il nostro caso d'uso è che rifiutiamo l'input dell'utente e vogliamo lasciare il valore precedente. – ilans

+0

Questo è compilabile -> senza virgolette, come questo: sam

2

@ La risposta di Anron è corretta ma penso che funzioni solo quando stiamo eseguendo l'associazione dati (utilizzando MVVM).

Dalla domanda @thecorp quello che ho capito è che sta provando nel codice dietro il file.

È possibile usufruire degli eventi "KeyDown" e "KeyUp" della casella di testo o se si utilizza l'associazione dei dati Aaron anwer dovrebbe risolvere il problema.

12

TextChangedfa incendio non appena il testo viene modificato.

(Se avete un vincolante per Text cioè non la stessa cosa, è completamente indipendente dalla manifestazione.)

Problemi correlati