Benutzerdefiniertes DateTime-Stringformat in WPF

8

Ich kann mein benutzerdefiniertes DateTime-Zeichenfolgenformat nicht in meiner Bindung verwenden. Ich möchte, dass das Format "mmmm, yyyy" lautet (z. B. "Juni 2012").

Folgendes funktioniert nicht. Ich bekomme ein kurzes Datumsformat (m / d / jjjj).

%Vor%

Ich habe überlegt, einen Konverter zu verwenden, aber ich bevorzuge einen reinen XAML-Ansatz.

Bearbeiten:

Zur besseren Übersicht habe ich eine Window mit einer Abhängigkeitseigenschaft Date vom Typ DateTime . In meinem XAML habe ich das Fenster 'Thiswindow' genannt.

Bearbeiten 2:

Ich habe mir meinen tatsächlichen Code angesehen und ich hatte Label , nicht TextBlock . Ich habe es in TextBlock geändert und es funktioniert gut.

%Vor%

Wer weiß, warum es nicht mit Label funktioniert?

Danke.

    
gregsdennis 08.06.2012, 16:47
quelle

2 Antworten

11

ContentControls haben eine Eigenschaft ContentStringFormat das überschreibt die ursprüngliche Formatierung.

(Als ich deine Frage gesehen habe, habe ich erwartet, dass dies das Problem ist, war aber überrascht, zuerst TextBlock zu finden)

    
H.B. 08.06.2012, 17:15
quelle
2

Ihr Monat muss in Großbuchstaben sein:

%Vor%

BEARBEITEN:

Das Label-Problem liegt wahrscheinlich daran, dass Label Inhalt hat, nicht Text.

Ändern Sie den Text="{Binding ...}" zu Content="{Binding ...}"

    
Trevor Elliott 08.06.2012 17:02
quelle