WPF-Konverter zum Aktualisieren der Hintergrundfarbe des Textfeldes in Echtzeit bei Textänderung

8

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:

    
NigelMassey 12.09.2013, 15:12
quelle

3 Antworten

1

Sie müssen UpdateSourceTrigger=PropertyChanged zu Ihrem Binding hinzufügen:

%Vor%

Dies aktualisiert die Bindungsquelle als , wenn der Benutzer jeden Buchstaben eingibt. Weitere Informationen finden Sie auf der Seite Binding.UpdateSourceTrigger bei MSDN.

    
Sheridan 12.09.2013 15:19
quelle
1

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 .

    
Mardukar 22.10.2014 11:29
quelle
0

Sie sollten ein Pinselobjekt wie die Farben zum Hintergrund wie unten zurückgeben

%Vor%     
TRS 21.07.2014 02:34
quelle

Tags und Links