Benutzerdefinierte DateTime-stringformat in WPF
Kann ich nicht meine benutzerdefinierte DateTime string-format für die Arbeit in meinem bindend. Ich möchte das format "mmmm, yyyy" (z.B. "Juni 2012").
Der folgende Code funktioniert nicht. Ich bekomme eine kurze Datum-format (m/d/yyyy).
<TextBlock Text="{Binding ElementName=ThisWindow,
Path=Date,
StringFormat={}{0:MMMM\, yyyy}"/>
Habe ich mir überlegt mit einem Konverter, aber ich bevorzuge eine Reine XAML-Ansatz.
Edit:
Zur Klarheit, ich habe einen Window
mit einer Abhängigkeitseigenschaft Date
Typ DateTime
. In meinem XAML, die ich genannt habe das Fenster 'Thiswindow'.
Edit 2:
Schaute ich wieder bei meinem eigentlichen code, und ich hatte eine Label
, nicht ein TextBlock
. Ich geändert es zu " TextBlock und es funktioniert gut.
<Label Content="{Binding ElementName=ThisWindow,
Path=Date,
StringFormat={}{0:MMMM\, yyyy}"/>
Jemand wissen, warum es nicht funktioniert mit Label
?
Dank.
- Dieser arbeitete für mich (außer es sollte
{0:MMMM\, yyyy}
). Etwas über Ihr "Date" - Eigenschaft? Ist es zufällig der Rückkehr einestring
statt einerDateTime
? - Ich werde Bearbeiten, um die situation klarer...
Du musst angemeldet sein, um einen Kommentar abzugeben.
ContentControls
haben eineContentStringFormat
Eigenschaft die überschreibt die ursprüngliche Formatierung.(Als ich sah, Ihre Frage, die ich erwartet, dass dies das eigentlich problem aber war, überrascht
TextBlock
zunächst)Ihre Monat muss in Großbuchstaben angegeben werden:
EDIT:
Das Label-problem ist wahrscheinlich, da Label hat den Inhalt, nicht auf Text.
Ändern Sie die Text="{Binding ...}", um Content="{Binding ...}"
Content
Eigenschaft, wenn es war einLabel
, und es funktionierte nicht.