web-dev-qa-db-fra.com

Format WPF DateTime dans TextBlock?

J'ai un TextBlock qui est lié à une propriété DateTime. Comment configurer le format de la date?

59
Peter

Une propriété de format de chaîne est disponible lorsque vous déclarez la liaison:

<TextBox Text="{Binding Path=DateTimeValue, StringFormat=dd-MM-yyyy}" />

(Vous devez être sur .NET 3.5 SP1 pour que cette propriété existe)

119
Martin Harris

Si vous souhaitez utiliser une chaîne de format commun entre les liaisons, vous pouvez déclarer la liaison comme ceci:

<Textbox Text={Binding Path=DateTimeValue, StringFormat={x:Static local:Constants.DateTimeUiFormat}} />

Avec votre classe de constantes comme ceci:

public static class Constants
{
    public const string DateTimeUiFormat = "dd/MM/yyyy";

    //etc...
}
29
Brian Hinchey

Peut être utile à quelqu'un:

<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now},
           StringFormat='{}{0: Today is dddd, MMMM dd, yyyy, hh:mm:ss}'}"/>

ou format mois et année 24h et 2 chiffres:

<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now},
           StringFormat='{}{0: Today is dddd, MM.dd.yy, HH:mm:ss}'}"/>
19
ZloyMakak