J'ai une application Silverlight 4. J'ai un objet C # DateTime que je lie à mon interface utilisateur. Je veux que ce DateTime soit dans le format de dd/mm/yyyy
heure (fuseau horaire). Par exemple, aujourd'hui serait affiché comme
04/07/2011 at 01:13 p.m. (EST)
Y a-t-il un moyen de faire ceci XAML
? Ou dois-je construire un convertisseur?
<TextBlock Text="{Binding Date, StringFormat='{}{0:MM/dd/yyyy a\\t h:mm tt}'}" />
te rendra
04/07/2011 à 1:28 PM (-04)
Vous pouvez utiliser StringFormat dans Silverlight 4 pour fournir un formatage personnalisé de la valeur que vous liez.
Le formatage de la date offre une vaste gamme d’options.
Pour le DateTime du "17 avril 2004, 13:52:45"
Vous pouvez soit utiliser un ensemble de formats standard (formats standard)…
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”
… Ou vous pouvez créer votre propre format de date avec des lettres (formats personnalisés)
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”
vous pouvez aussi utiliser juste
StringFormat=d
dans la colonne de votre grille de données pour la date et l'heure
enfin ce sera
<sdk:DataGridTextColumn Binding="{Binding Path=DeliveryDate,StringFormat=d}" Header="Delivery date" Width="*" />
la sortie ressemblera
C #: essayez ceci
Utilisez un délimiteur, comme ceci:
En SL5, j'ai trouvé que cela fonctionnait:
<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\}'}">