У меня есть TextBlock
, связанный с свойством DateTime
. Как настроить формат даты?
Формат WPF DateTime в TextBlock?
Ответ 1
При объявлении привязки доступно свойство формата строки:
<TextBox Text="{Binding Path=DateTimeValue, StringFormat=dd-MM-yyyy}" />
(Вы должны быть на .NET 3.5 SP1, чтобы это свойство существовало)
Ответ 2
Если вы хотите использовать общую строку формата между связями, вы можете объявить привязку следующим образом:
<Textbox Text={Binding Path=DateTimeValue, StringFormat={x:Static local:Constants.DateTimeUiFormat}} />
С вашим классом констант следующим образом:
public static class Constants
{
public const string DateTimeUiFormat = "dd/MM/yyyy";
//etc...
}
Ответ 3
Может быть полезно кому-то:
<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now},
StringFormat='{}{0: Today is dddd, MMMM dd, yyyy, hh:mm:ss}'}"/>
или 24h и 2digits формат месяца и года:
<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now},
StringFormat='{}{0: Today is dddd, MM.dd.yy, HH:mm:ss}'}"/>