Was nutzt die ConvertBack-Methode in der IValueConverter-Schnittstelle?
Was ist die Verwendung von ConvertBack
Methode in IValueConverter
- Schnittstelle.
Wenn Sie es rufen?
Oder was ist der Reihenfolge der Anrufung von Convert
und ConvertBack
Methode.
Ich habe die Frage hier, weil: ich habe gebunden eine Eigenschaft von codebehind zu TEXTBOX die TEXT-Eigenschaft und die Verwendung von convertor
für diese Eigenschaft,
dann die erste Convert
Methode aufrufen und wenn ich TEXT
im TEXTBOX
nichts passieren, aber sobald ich das Formular schließen ConvertBack
Methode aufrufen.
was ist das, es gibt keine Regelndie definieren, wenn Feuer ConvertBack
Methode?
HINWEIS: Sie werden möglicherweise feststellen, dass dies ist möglich, Duplikat der anderen Frage, die auf dieser Website...aber nicht jede Frage, die ich gefunden habe, verwenden alle in der Vorschlagsliste, wenn ich schriftlich meine Frage.
InformationsquelleAutor der Frage Aryan SuryaWansi | 2011-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
IMO, die
ConvertBack
Methode wird verwendet, um konvertieren Sie Ihre visuelle Darstellung der Daten zu den spezifischen Datentyp.Beispiel: Sie verwenden einen Konverter zum umwandeln eines booleschen
true
den string"TrueBoolean"
. Dieser text erscheint in deinem Textfeld. Wenn Sie ändern Sie den Wert von der TextBox, dieConvertBack
Methode wird aufgerufen, sobald Sie die Bindung erneut ausgelöst wird (Standard OnFocusLost). Jetzt ist IhreConvertBack
Methode wird versuchen, die konvertieren, der neue Wert, der Datentyp, den Sie möchten, es zu sein. So haben Sie, um die Logik implementieren zu konvertieren"FalseBoolean"
zufalse
.Diese Technik wird verwendet, eine Menge in DataGrids, wenn ich mich nicht Irre.
Hoffe das ist ein bisschen klar...
UPDATE
Über deine Frage in den Kommentar:
Überschreiben der Standard -
OnFocusLost
verbindlich Verhalten müssen Sie ändern, um Ihre Bindung so:InformationsquelleAutor der Antwort RoelF
ConvertBack
ist, wenn Siemode=TwoWay
auf Ihre Bindung.Er wandelt die Eingabe des Benutzers wieder in den Datentyp, Sie sind verbindlich und wird aufgerufen, wenn der
TextBox
(sagen) den Fokus verliert.Beispiel (falls diese noch nicht gebaut war), wenn Sie eine Nummer, die für einen Preis, der
Convert
Methode nehmen würde, den Wert und format in eine Zeichenfolge mit der korrekten Währung, Dezimaltrennzeichen etc.Wenn der Benutzer einen neuen Wert - einschließlich etwaiger Währungssymbol, Tausendertrennzeichen Trennzeichen etc. Sie verwenden würde, die
ConvertBack
Methode zum Parsen der Strings und extrahieren Sie den numerischen Wert.Ein weiteres Beispiel wäre die Kreditkartennummer-Eingabe. Könnte der Benutzer geben Sie die Zahl als eine einzelne Zeichenfolge von Ziffern oder Gruppen von Ziffern getrennt durch Leerzeichen oder Bindestriche. Die
ConvertBack
Methode nehmen würde, alle diese möglichen Eingänge und konvertiert Sie in das format Sie benötigen.InformationsquelleAutor der Antwort ChrisF
überprüfen Sie die UpdateSourceTrigger-Eigenschaft auf Ihre Bindung.
http://msdn.microsoft.com/library/system.windows.data.binding.updatesourcetrigger.aspx
Dem Textfeld wird durch die Standard-update-Quelle wenn es verliert Fokus, mit dem UpdateSourceTrigger Sie können dieses Verhalten mit sofortiger Aktualisierung der Quelle, wenn die textbox sich der Inhalt ändert.
HTH
Dominik
InformationsquelleAutor der Antwort Dominik