StringFormat à la liaison
Vue:
<TextBlock Text="{Binding Date}"/>
Je veux le format de la Date, "dd/MM/yyyy", en d'autres termes, sans le temps.
Je l'ai essayé: <TextBlock Text="{Binding Date, StringFormat={}{0:dd/MM/yyyy}}"/>
mais il ne fonctionne pas.
Me donne une erreur: La propriété 'StringFormat' a pas été trouvé dans le type "Contraignant".
source d'informationauteur developer033
Vous devez vous connecter pour publier un commentaire.
Le meilleur et le plus simple serait d'utiliser un convertisseur pour laquelle vous transmettre la Date et obtenir la chaîne formatée dos. Par exemple
MyNamespace.Converters
espace de noms:Et dans votre xaml viens de référence du convertisseur et ajouter le convertisseur suivants:
dans votre xaml page et dans la page.ressources ajouter cette
Il n'y a pas de propriété nommée
StringFormat
dans La liaison classe. Vous pouvez utiliser Convertisseur et ConverterParameter pour ce faire. Vous pouvez vous référer à Mise en forme ou de la conversion de valeurs de données pour l'affichage.Par exemple ici, je la lie de la date de
DatePicker
le texteTextBlock
.XAML:
code derrière, le DateFormatter classe:
pourquoi compliquer? Vous pouvez utiliser les données compilées de liaison
Il est un excellent exemple ici:
Exemple à partir de MSDN
si votre convertisseur de classe est dans un espace de noms différent (comme suggéré dans un autre dossier), vous pouvez ajouter
et de l'utiliser comme ceci:
le reste devrait rester le même que dans l'exemple de la liaison.
Je sais c'est tard mais j'ai eu la même question et est venu avec cette solution. Peut-être pas le plus court mais pure XAML.
La bonne chose à propos
StringFormat
est qu'il vous permet de spécifier le format de la sortie. Voici un convertisseur-je utiliser qui vous permet de spécifier le format.Comment utiliser (exemple avec plusieurs formats):
Essayer cela,
Vous pouvez le faire en xml lui-même. Ici...