| 

.NET C# Java Javascript Exception

3
Wenn ich in Silverlight beim Data Binding einen Konverter einbaue, habe ich manchmal das Bedürfnis in ConvertBack (eher nicht in Convert, aber das ist wohl egal) einen Wert zu "verschlucken", d.h. die Weitergabe der Änderung zu unterdrücken.

Für diesen Fall "null" zurückzugeben scheint in der Praxis zu funktionieren -- aber es ist wohl kaum so gedacht. Z.B. sind im VS-Debug-Fenster abgefangene Exceptions zu sehen.

Gibt es eine bessere Methode?
News:
15.09.2009
pjacobi 1,1k 2 7
pjacobi 1,1k 2 7
Versteh ich das richtig: Du willst nur bestimmte Werte nicht in deine DataSource zurück schreiben? Du führst also eine Validierung im ConvertBack durch?
Charon 21.09.2009
1 Antwort
0
Wenn Du asu Typ A in Typ B convertierst, sollte das jeweils über den vollständigen behandelten Wertebereich gehen. Soll heißen, wenn aus a1 b1 wird, sollte b1 auch wieder nach A abbildbar sein, denn man bekommt ihn vermutlich wieder zurück. Außerdem sollte der zurückgegebene Typ natürlich konsistent bleiben und mit dem Datentyp des gebundenen Properties vereinbar sein.

Probleme hat man dann, wenn das nicht gegeben ist. Z.B. string->int. Hier null zurückzugeben ist auch keine gute Idee wenn das Property vom Typ int ist, oder wenn man im Convert nicht damit umgehen kann, weil man dort mit einem int rechnet.

Das klingt aber schlimmer als es ist, solange man beide Seiten (d.h. Source und Target Property) selbst im Griff hat. Sobald die Werte freie Benutzereingaben sind geht das aber normalerweise schief, ValueConverter und Validierungen passen nicht wirklich gut zusammen. Vgl. http://ajdotnet.wordpress.com/2010/02/28/understanding-validation-in-silverlight/
22.10.2011
1175286827 11 2

Stelle deine .net-Frage jetzt!