WPF 数据绑定到日期时间对象列表

发布于 2024-08-06 04:09:09 字数 133 浏览 3 评论 0原文

我有一个组合框,我想将其绑定到日期时间对象列表,但我想以短时间格式显示日期时间对象。我很确定我需要为此使用某种形式的数据模板,但我无法弄清楚如何在数据模板中绑定到日期时间对象的 ToShortTime 方法。

有人能指出我正确的方向吗?

I have a combo box that I want to bind to a list of datetime objects, but I want to show the datetime objects in short time format. I'm pretty sure I need to use some form of data template for this, but I can't figure out how to bind to the datetime object's ToShortTime method within the data template.

Can someone point me in the right direction?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

脸赞 2024-08-13 04:09:09

假设您使用的是 .NET 3.0 或 3.5 SP1,您可以简单地使用 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}'}" />

Assuming you're using .NET 3.0 or 3.5 with SP1, you can simply use the StringFormat to specify the format, for example:

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

Will show the current date time with short time format ('t' standard date time format modifier, exactly the same as calling DateTime.Now.ToString("t")).

Edit: If you're already in a data template having a DateTime as the DataContext, just use:

<TextBlock Text="{Binding StringFormat='{}{0:t}'}" />
若有似无的小暗淡 2024-08-13 04:09:09

您可以在绑定上设置 Converter 属性。实现 IValueConverter 以对字符串进行更改。 IValueConverter 的 MSDN 文档 实际上使用了这个举个例子。

You could set the Converter property on the binding. Implement IValueConverter to make the change to a string. The MSDN docs for IValueConverter actually use this as an example.

喜爱纠缠 2024-08-13 04:09:09

有一个名为:的属性,

Combobox.ItemStringFormat

您可以像往常一样在此处提供字符串格式。无需为此目的对项目进行数据模板化。

<ComboBox ItemsSource="{Binding MyDates}"
          ItemStringFormat="yyyy-MM-dd" />

There is a property named:

Combobox.ItemStringFormat

here you can provide the Stringformat as usual. No need to Datatemplate the items for this purpose.

<ComboBox ItemsSource="{Binding MyDates}"
          ItemStringFormat="yyyy-MM-dd" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文