代码之家  ›  专栏  ›  技术社区  ›  martin

我是否总是需要为日期格式编写转换器?

  •  4
  • martin  · 技术社区  · 16 年前

    我经常在绑定到日期时间属性的WPF项目中使用文本框。我想把日期格式化成德文格式 dd.MM.yyyy . 目前,我使用一个自编的转换器来完成这项工作,我可以提供所需的日期格式。

    例如:

    <TextBox Name="Date" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type prj:MyBar}}, Path=Date, Converter={StaticResource dateConverter}, ConverterParameter=dd.MM.yyyy}" />
    

    转换器唯一做的就是调用 ToString(string formatString) -日期时间的方法。

    是否有一种“更智能”的方法来用数据绑定来格式化日期?最好是不需要编写C代码。也许在微软的libs中有任何现存的类,可以为数据绑定做这样的日期转换,但是我还没有找到它。

    如果有什么建议的话就太好了,

    问候语, 马丁

    1 回复  |  直到 16 年前
        1
  •  9
  •   Tri Q Tran    16 年前

    .NET 3.5 SP1具有StringFormatter。

    <TextBox Name="Date" Text="{Binding Date, StringFormat='{}{0:MM/dd/yyyy}'}"/>
    

    结果: 02/02/2010

    <TextBox Name="Date" Text="{Binding Date, StringFormat='{}{0:D}'}"/>
    

    结果:2010年2月2日,星期二

    但根据系统默认的日期时间格式,结果也可能有所不同。