Hallo,
ich habe meine Windows alle mit xml:lang="de-DE" versehen, damit gerade bei Currency Angaben, die richte formatierung gewählt wird.
Das ist auch alles soweit OK.
Nun habe ich ein DataGrid in dem ein Datumswert angezeigt werden soll:
Binding={Binding Path=Date, StringFormat={}{0:MM/yyyy}}
Nur leider wird der Slash als Punkt dargestellt. Wenn ich die xml:lang="de-DE" raus nehme, wird es korrekt dargestellt.
Nun habe ich schon gegoglelt nur leider habe ich nichts gefunden, was meinem Problem helfen könnte.
Selbst mit "" als Escape geht es nicht.
Gibt es dafür eine Lösung oder ist das ein Bug?
http://msdn.microsoft.com/de-de/library/8kb3ddd4(v=vs.110).aspx
/=Datumstrennzeichen... und das ist in DE nunmal der Punkt.
Wer lesen kann ist klar im Vorteil:
Um das Datumstrennzeichen für ein bestimmtes Datum und eine Uhrzeit-Zeichenfolge zu ändern, geben Sie das Trennzeichen in einem Zeichenfolgenliteral-Trennzeichen an. Die benutzerdefinierte Formatzeichenfolge mm'/'dd'/'yyyy erzeugt beispielsweise eine Ergebniszeichenfolge, in der "/" immer als Datumstrennzeichen verwendet wird. Um das Trennzeichen für Datumsangaben für alle Termine für eine Kultur zu ändern, entweder ändern Sie den Wert der DateTimeFormatInfo.DateSeparator-Eigenschaft für die aktuelle Kultur, oder instanziieren Sie ein DateTimeFormatInfo-Objekt, weisen Sie das Zeichen der DateSeparator-Eigenschaft zu, und rufen Sie eine Überladung der Formatierungsmethode auf, die einen IFormatProvider-Parameter enthält.
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
Hi ThoHei,
Selbst mit "" als Escape geht es nicht.
So sollte es aber funktionieren:
Die Zeichen "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" oder "/" in einer Formatzeichenfolge werden als benutzerdefinierte Formatbezeichner und nicht als Literalzeichen interpretiert. Um zu verhindern, dass ein Zeichen als Formatbezeichner interpretiert wird, können Sie einen umgekehrten Schrägstrich () als Escapezeichen voranstellen. Das Escapezeichen gibt an, dass das folgende Zeichen ein Zeichenliteral ist, das unverändert in der Ergebniszeichenfolge enthalten sein soll.
Siehe Der benutzerdefinierte Formatbezeichner "/"
Christian
Weeks of programming can save you hours of planning
'/'
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
@Programmierhans
Leider hab ich es nicht so mit dem lesen! 8)
Trotzdem Danke für die Antwort. Funktioniert alles.