Ich habe zwei Textfelder für den Vornamen und den zweiten Namen eines Benutzers und ich habe einen Konverter erstellt, um die Hintergrundfarbe des Textfelds zu ändern, wenn der Text einer bestimmten Zeichenfolge entspricht. Das Problem, das ich habe, ist, dass das Textfeld nur zur Laufzeit aktualisiert wird und nicht aktualisiert, wenn ich den Text in das Textfeld ändere.
XAML:
%Vor%Konvertercode:
%Vor%Korrekte Texteingabe:
Falsche Texteingabe - keine Änderung:
Sie müssen UpdateSourceTrigger=PropertyChanged
zu Ihrem Binding
hinzufügen:
Dies aktualisiert die Bindungsquelle als , wenn der Benutzer jeden Buchstaben eingibt. Weitere Informationen finden Sie auf der Seite Binding.UpdateSourceTrigger bei MSDN.
Zuerst haben Sie die UpdateSourceTrigger=PropertyChanged
der falschen Bindung hinzugefügt. Sie müssen es der Bindung der Eigenschaft Text
hinzufügen.
Zweitens haben Sie die Eigenschaft Text
an Staff.Forename
gebunden, aber die Background
an Staff
. Die Eigenschaft Background
weiß nicht, dass sich Staff
geändert hat, wenn Sie in Staff.Forename
schreiben. Sie müssen das Ereignis PropertyChanged
für die Eigenschaft Staff
erhöhen, wenn Sie in die Eigenschaft Staff.Forename
schreiben. Gleiches für Staff.Surname
.