Double an TextBox binden

9

Ich habe oft TextBox verwendet, um ohne Probleme an Ganzzahlen zu binden.

Wenn ich jedoch versuche, eine TextBox an ein Double zu binden, funktioniert es nicht.

Wenn ich 5,85 eintippe (da meine Kulturen decimalSeperator sind), übergebe ich 585,0 an den doppelten Wert.

Wie wird es konvertiert und mit welcher Lösung könnte ich das beheben? Wäre ein ValueConverter die beste Lösung?

    
Ingó Vals 13.01.2012, 18:18
quelle

2 Antworten

4

Sie könnten versuchen, dies zum Konstruktor Ihrer Anwendung hinzuzufügen:

%Vor%

Beachten Sie jedoch, dass dies nicht funktioniert, wenn Sie das Dezimaltrennzeichen anpassen. ( doppelte WPF-Datenbindung mit benutzerdefiniertem Dezimaltrennzeichen ) )

    
friskm 13.01.2012, 21:58
quelle
1

Zu Diagnosezwecken können Sie diese beiden Codezeilen zum Start Ihres Programms hinzufügen ...

%Vor%

Und vergleichen Sie die Ergebnisse. Die Chancen stehen gut, dass die 'cuic'-Kultur' en-US 'hält, weil der UI-Thread typischerweise auf diese Weise erstellt wird. Sie können dies ändern, indem Sie das <UICulture> -Tag in der Projektdatei setzen oder versuchen als Diagnose zu verwenden ...

%Vor%

und bewerten Sie die Nebenwirkungen. Ansonsten können Sie einen IValueConverter ...

implementieren     
Gayot Fow 13.01.2012 22:56
quelle