StringFormat konvertiert Kommazahlentrenner nicht in aktuelle Culture
-
Dienstag, 27. Oktober 2009 13:16
Hallo,
ich habe Probleme mit dem StringFormat in XAML.
Wenn ich es richtig verstanden habe sollte in folgender TextBox (die an einen Double-Wert gebunden ist) die Zahl auf deutschen Systemen mit einem Komma und z.B. auf englischen mit einem Punkt als Dezimaltrenner dargestellt werden.
Wird sie aber nicht, wenn ich mein Programm bei mir ausführe (Deutsches System) bekomme ich trotzdem den Punkt anstatt des Kommas...
Alle Beiträge die ich bsi jetzt gefunden habe beahupten aber, dass es genau so gehen soll - wenn ich mich nicht irre.
<TextBox Name="TextBoxActualDriveAngularSpeed" Text="{Binding Source={x:Static src:MySettings.Default}, Path=ImageActualAngularSpeed, Mode=TwoWay, StringFormat=F, UpdateSourceTrigger=LostFocus, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}"/>Hat jemand eine Idee?
Danke & Ciao!
Stefan
Alle Antworten
-
Dienstag, 27. Oktober 2009 16:16Besitzer
Hallo Stefan 000000,
Schau Dir die folgende Diskussion an. Vielleicht findest Du etwas dass Dir weiter helfen kann.
http://stackoverflow.com/questions/520115/stringfomat-localization-problem/520334#520334
Grüße,
Robert
-
Mittwoch, 28. Oktober 2009 09:54
Hallo Robert,
vielen Dank für den Tipp, dort habe ich die Lösung gefunden.
Ich habe in meinem Visual Basic WPF Projekt in der Application.xaml.vb beim Event Me.Startup folgendes eingefügt:
'Set Current OS culture (WPF normally uses en-US as Culture? FrameworkElement.LanguageProperty.OverrideMetadata(GetType(FrameworkElement), New FrameworkPropertyMetadata(Markup.XmlLanguage.GetLanguage(Globalization.CultureInfo.CurrentCulture.IetfLanguageTag)))
Und jetzt benutzt meine Applikation die aktuell gewählte Kultur.
Das Verhalten von WPF kommt mir hier trotzdem seltsam vor... Warum wird nicht standardmäßig die normale Kultur verwendet und hat die Einstellung noch andere Auswirkungen außer dem Setzen der richtigen Kultur für die benutzeroberfläche?
Ciao!
Stefan- Als Antwort vorgeschlagen Robert BreitenhoferMicrosoft Contingent Staff, Moderator Mittwoch, 28. Oktober 2009 10:22
- Als Antwort markiert Stefan 000000 Mittwoch, 28. Oktober 2009 10:34
-
Mittwoch, 28. Oktober 2009 10:19Besitzer
Hallo Stefan 000000,
Schau Dir mal diese Diskussion an. Vielleicht kann sie Deine Frage etwas klären.
WPF Binding uses the wrong CurrentCulture by default à https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=442569&wa=wsignin1.0
http://social.msdn.microsoft.com/Forums/en/vswpfdesigner/thread/f850b355-c069-4645-9125-a246d6c67152
Grüße,
Robert

