Datepicker仅返回日期

时间:2012-03-18 21:30:57

标签: c# windows-phone-7 datepicker

我使用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仅显示日期而不显示时间?

4 个答案:

答案 0 :(得分:4)

您应该添加StringFormat

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

答案 1 :(得分:3)

试试这个:

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

答案 2 :(得分:1)

.NET DateTime始终包含时间。您的问题在于TextBlock

中的格式
<!-- untested -->
<TextBlock x:Name="TxbTaskDate" Text="{Binding Date StringFormat={0:dd-MM-yyyy}}" />

答案 3 :(得分:0)

DateTime包含一个时间组件,顾名思义。您可以在ValueConverter绑定中使用TextBlock来删除时间并仅显示日期。

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

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

如果您以前没有使用过good intro to ValueConverter,那么这是{{3}}。