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