Ответ 1
<TextBlock Text="{Binding Date, StringFormat='{}{0:MM/dd/yyyy a\\t h:mm tt}'}" />
вернет вас
04/07/2011 в 13:28 (-04)
У меня есть приложение Silverlight 4. У меня есть объект С# DateTime, который я привязываю к своему пользовательскому интерфейсу. Я хочу, чтобы этот DateTime находился в формате dd/mm/yyyy
time (TimeZone). Например, сегодня будет отображаться как
04/07/2011 at 01:13 p.m. (EST)
Есть ли способ сделать это XAML
? Или мне нужно построить конвертер?
<TextBlock Text="{Binding Date, StringFormat='{}{0:MM/dd/yyyy a\\t h:mm tt}'}" />
вернет вас
04/07/2011 в 13:28 (-04)
Вы можете использовать StringFormat в Silverlight 4, чтобы обеспечить пользовательское форматирование значения, которое вы связываете.
Форматирование даты имеет огромный диапазон параметров.
Для DateTime "17 апреля 2004 года, 1:52:45 PM"
Вы можете использовать набор стандартных форматов (стандартные форматы)...
StringFormat=f : "Saturday, April 17, 2004 1:52 PM"
StringFormat=g : "4/17/2004 1:52 PM"
StringFormat=m : "April 17"
StringFormat=y : "April, 2004"
StringFormat=t : "1:52 PM"
StringFormat=u : "2004-04-17 13:52:45Z"
StringFormat=o : "2004-04-17T13:52:45.0000000"
... или вы можете создать свое собственное форматирование даты с помощью букв (пользовательских форматов)
StringFormat=’MM/dd/yy’ : "04/17/04"
StringFormat=’MMMM dd, yyyy g’ : "April 17, 2004 A.D."
StringFormat=’hh:mm:ss.fff tt’ : "01:52:45.000 PM"
вы также можете использовать только
StringFormat=d
в столбце datagrid для даты, показывающей
наконец, это будет
<sdk:DataGridTextColumn Binding="{Binding Path=DeliveryDate,StringFormat=d}" Header="Delivery date" Width="*" />
out put будет выглядеть как
С#: попробуйте это
Используйте некоторый разделитель, например:
В SL5 я нашел, что это работает:
<TextBlock Name="textBlock" Text="{Binding JustificationDate, StringFormat=dd-MMMM-yy hh:mm}">
<TextBlock Name="textBlock" Text="{Binding JustificationDate, StringFormat='Justification Date: \{0:dd-MMMM-yy hh:mm\}'}">