WPF数据化到一个日期时间对象列表

问题描述 投票:0回答:3

我有一个组合框,我想把它绑定到一个日期时间对象列表上,但我想以短时格式显示日期时间对象。我很确定我需要使用某种形式的数据模板,但我不知道如何在数据模板中绑定到日期时间对象的ToShortTime方法。

谁能告诉我正确的方向?

wpf data-binding datatemplate
3个回答
4
投票

假设你使用的是SP1的.NET 3.0或3.5,你可以简单地使用StringFormat来指定格式,例如。

<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat='{}{0:t}'}" />

将显示当前日期时间与短时格式('t'标准日期时间格式修饰符,与调用DateTime.Now.ToString("t")完全相同)。

编辑:如果你已经在一个有DateTime作为DataContext的数据模板中,只要使用。

<TextBlock Text="{Binding StringFormat='{}{0:t}'}" />

1
投票

你可以在绑定上设置转换器属性。实现IValueConverter来使其改变为字符串。在这里,你可以实现IValueConverter来改变字符串。MSDN文档 对于IValueConverter其实以这个为例。


0
投票

有一个名为:

Combobox.ItemStringFormat

这里你可以像往常一样提供Stringformat。不需要为此对项目进行Datatemplate。

<ComboBox ItemsSource="{Binding MyDates}"
          ItemStringFormat="yyyy-MM-dd" />
© www.soinside.com 2019 - 2024. All rights reserved.