Laden...

XAML Problem mit Darstellung

Erstellt von ThoHei vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.421 Views
T
ThoHei Themenstarter:in
82 Beiträge seit 2011
vor 9 Jahren
XAML Problem mit Darstellung

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?

4.221 Beiträge seit 2005
vor 9 Jahren

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...

5.658 Beiträge seit 2006
vor 9 Jahren

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

4.221 Beiträge seit 2005
vor 9 Jahren

'/'

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

T
ThoHei Themenstarter:in
82 Beiträge seit 2011
vor 9 Jahren

@Programmierhans

Leider hab ich es nicht so mit dem lesen! 8)

Trotzdem Danke für die Antwort. Funktioniert alles.