Формат WPF DateTime в TextBlock? - PullRequest
       22

Формат WPF DateTime в TextBlock?

58 голосов
/ 26 августа 2009

У меня есть TextBlock, который связан со свойством DateTime. Как мне настроить формат даты?

Ответы [ 3 ]

117 голосов
/ 26 августа 2009

При объявлении привязки доступно свойство формата строки:

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

(Вам нужно быть на .NET 3.5 SP1, чтобы это свойство существовало)

29 голосов
/ 26 сентября 2012

Если вы хотите использовать строку общего формата между привязками, вы можете объявить привязку следующим образом:

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

С вашим классом констант вот так:

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

    //etc...
}
19 голосов
/ 20 сентября 2016

Может быть кому-то полезно:

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

или 24-часовой и 2-значный формат месяца и года:

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