日期选择器只返回日期

本文关键字:日期 返回 选择器 | 更新日期: 2023-09-27 18:28:22

Im使用Datepicker控件获取日期并将其显示在WP7中的Textblock中。我希望它只显示日期而不显示时间。Datepicker只显示日期,但当我想在TextBlock中显示它时,它同时显示日期和时间。我使用数据绑定在Datepicker中设置日期:

public class Task
{
    public DateTime Date { get; set; }
    public Task()
    {
        Date = DateTime.Now;
    }
}

XAML:

<toolkit:DatePicker Value="{Binding Mode=TwoWay, Path=Date}" FlowDirection="RightToLeft" />
<TextBlock x:Name="TxbTaskDate" Text="{Binding Date}" />

如何使TextBlock只显示日期而不显示时间?

日期选择器只返回日期

您应该添加一个StringFormat

<TextBlock x:Name="TxbTaskDate" 
           Text="{Binding Date, StringFormat='{}{0:dd.MM.yyyy}'}" />

试试这个:

<TextBlock x:Name="TxbTaskDate" Text="{Binding Date, StringFormat=d}" />

.NET DateTime始终包括Time。您的问题是TextBlock 中的格式

<!-- untested -->
<TextBlock x:Name="TxbTaskDate" Text="{Binding Date StringFormat={0:dd-MM-yyyy}}" />
顾名思义,DateTime包括一个时间组件。您可以在TextBlock绑定中使用ValueConverter来去掉时间,只显示日期。

在高级别上,ValueConverter将采用一种类型,如DateTime,并允许您对其进行一些转换。我可能会让它返回一个格式化的string:

String.Format("{0:M/d/yyyy}", dt);

如果你以前没有使用过ValueConverter,这里有一个很好的介绍。