4

我经常在我的 wpf-projects 中使用绑定到 datetime-propertys 的文本框。我想将日期格式化为德语格式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)DateTime 的 - 方法。

是否有一种“更智能”的方式来格式化数据绑定的日期。最好的情况是不需要编写 C# 代码。也许 microsoft-libs 中有任何现有的类,可以为数据绑定进行这种日期转换,但我还没有找到它。

如果有什么建议就好了

问候,马丁

4

1 回答 1

9

.NET 3.5 SP1 具有 StringFormatter。

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

结果:2010 年 2 月 2 日

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

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

但结果也可能因系统默认日期时间格式而异。

于 2010-02-02T11:35:17.870 回答