C# WPF Binder un DateTime lisible avec StringFormat
Date: Mercredi 16 mars 2011 à 23:47:41
Sujet: Programmation C# .NET


Le binding de date (DateTime) en C# est devenu très simple depuis la version 3.5 SP1 du framework .NET et à la propriété StringFormat qui permet de formater un objet bindé DateTime lors de son affichage dans une fenêtre WPF.

Tout l'intérêt de cette méthode est de binder directement un objet DateTime dans une fenêtre WPF sans passer par des modifications "en dur".

Un objet DateTime n'est pas vraiment lisible si on l'affiche tel quel et un utilisateur voudra toujours un affichage particulier : simplement le jour et le mois, seulement l'heure etc.
Il peut y avoir également des demandes de modifications de la part des clients américains qui préfèrent le format mois/jour/année

Voici la solution C# pour vous simplifier la vie et afficher directement un DateTime en précisant le format de celui-ci.

Supposons que nous avons un champ DateTime nommé MyDate dans notre objet courant.

Afficher la date (jour/mois/année) en WPF C# :

<TextBlock Text="{Binding MyDate, StringFormat={}{0:dd/MM/yyyy}}" />
Le TextBlock C# affichera alors la date sous la forme jour/mois/année.
Par exemple : 16/03/2011

Afficher l'heure (heures/minutes/secondes) en WPF C# :

<TextBlock Text="{Binding Date, StringFormat={}{0:hh:mm:ss}}" />
Exemple : 22:42:54

Vous pouvez bien sûr mêler les 2 versions pour afficher la date et l'heure et formater le DateTime pour qu'il affiche exactement ce que vous voulez.

Afficher la date et l'heure en WPF C# :

<TextBlock Text="{Binding Date, StringFormat={}{0:dd/MM/yyyy hh:mm:ss}}" />
Exemple : 16/03/2011 22:42:54

Vous voyez que ce n'est vraiment pas compliqué d'afficher un DateTime dans une fenêtre C# WPF.

Avant l'apparition de la propriété StringFormat, on était obligé de passer par un converter et cela rendez un peu lourd l'affichage des dates, maintenant c'est très facile.





Cet article provient de Tout sur l'informatique - Programmation C#, Sécurité, Divx, P2P
http://www.zmaster.fr

L'URL de cet article est:
http://www.zmaster.fr/modules.php?name=News&file=article&sid=229