2012-04-01 5 views
1

Ich habe ein Projekt, in dem ich eine Gridview zu einer Liste verbinde, wo eine Spalte mit einer Gridview verknüpft ist. Das Problem, das ich habe, ist, dass mit dem doppelten Wesen 5.5 auf einem Computer es als 5.5 in der Gridview erscheint. Aber auf einem anderen sieht es wie 55 aus, das Dezimalzeichen verschwindet. So wird 3,14 aussehen 314 usw.Datenbindung zum Typ Doppel - Dezimalmarkierung verloren

Der Fehler mit dem folgenden Code auftritt:

myDatagrid.ItemsSource = someList; 
Binding binding = new Binding("DoubleValue"); 
myColumnInDatagrid.Binding = binding; 

Ich habe auch versucht, einen sehr einfachen Valueconverter mit, dass nur die Doppel zurück und analysierte sie in ConvertBack. Ich bin ziemlich neu bei WPF, also tut es mir leid, wenn ich einige offensichtliche Fehler gemacht habe, ich verstehe einfach nicht, warum es auf einem Computer funktioniert, aber nicht auf dem anderen. Vielleicht sollte beachtet werden, dass beide Computer das gleiche Betriebssystem mit den gleichen Spracheinstellungen verwenden (zumindest afaik).

Antwort

0

FKE hat recht: Vermutlich unterscheidet sich die Culture auf beiden Rechnern dadurch von der unterschiedlichen Darstellung.

Sie können die Kultur über die Bindung oder über FrameworkElement.Language gesetzt und hier ist eine schöne Art und Weise, dass weltweit für Ihre gesamte Anwendung zu setzen:

How to set current CultureUI via XAML binding