【问题标题】:WPF format DateTime in TextBlock?TextBlock中的WPF格式DateTime?
【发布时间】:2019-01-11 07:19:36
【问题描述】:

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

【问题讨论】:

    标签: wpf formatting textblock


    【解决方案1】:

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

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

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

    【讨论】:

    • 只是让你知道这是现在的 TextBox
    【解决方案2】:

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

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

    你的常量类是这样的:

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

    【讨论】:

    • 谢谢布赖恩!我将它与System.Threading.Thread.CurrentThread.CurrentUICulture.DateTimeFormat.ShortDatePattern 结合使用以获得i18n 短日期。
    【解决方案3】:

    可能对某人有帮助:

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

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 2023-02-06
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      相关资源
      最近更新 更多