我经常在我的 wpf-projects 中使用绑定(bind)到 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)
- 日期时间的方法。是否有一种“更智能”的方式来格式化数据绑定(bind)的日期。最好的情况是不需要编写 C# 代码。也许 microsoft-libs 中有任何现有的类,可以为数据绑定(bind)进行这种日期转换,但我还没有找到它。
如果有什么建议就好了
问候,
马丁
最佳答案
.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 日,星期二
但结果也可能因系统默认日期时间格式而异。
关于wpf - 我总是需要为日期格式编写转换器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183592/