TextBlock中的WPF格式DateTime?

时间:2009-08-26 07:58:17

标签: wpf formatting textblock

我有TextBlock绑定到DateTime属性。如何配置日期格式?

3 个答案:

答案 0 :(得分:116)

声明绑定时有一个字符串格式属性:

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

(您需要在.NET 3.5 SP1上才能存在此属性)

答案 1 :(得分:28)

如果要在绑定之间使用通用格式字符串,可以像这样声明绑定:

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

使用这样的常量类:

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

    //etc...
}

答案 2 :(得分:19)

可能对某人有所帮助:

<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}'}"/>