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

标签 wpf data-binding xaml format converter

我经常在我的 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/

相关文章:

asp.net - 将 Eval 与 Sum() 和 Count() 与 ASP.Net EntityFramework 和 ListView 一起使用

c# - VSIX 窗口 - 执行 ICommand 的快捷键

c# - 如何判断用户是否使用绑定(bind)源修改了数据?

wpf - 实时移动矩形时半透明窗口在多个屏幕上的性能

c# - Win 8.1 DPI - WPF - 如何查找独立监视器/显示器的 DPI

c# - WPF 数据网格 : sort a column programatically the MVVM way?

wpf - 当 UI 值更改时,将 ViewModel 上的结构属性绑定(bind)到 WPF 工具包 PropertyGrid 不会更新 ViewModel

wpf - WPF 类库中的全局静态资源?

c# - XAML 和 WPF - 将变量传递给 XAML Windows

c# - 从 wpf 调用 api 时 client.GetAsync 调用挂起