Salutations aux illuminés!Comment afficher les pourcentages avec ContentStringFormat?
Je joue sur cette question depuis plusieurs heures maintenant, mais n'a pas réussi (peut-être parce que je suis tout à fait nouveau pour WPF):
J'ai un DataGrid dont DataContext est lié à un DataTable. Le DataGrid est de taille fixe et son but est de contenir une table de valeurs y (x) (c'est-à-dire que les en-têtes affichent les valeurs x et les valeurs y correspondantes sont collées du presse-papiers et affichées dans le premier DataGridRow). Jusqu'ici tout va bien. Les valeurs sont collées (assignées en tant que chaînes à dataTable.rows [0] [i] où i = 0 ... n) parfaitement et bien affichées.
Mais les chiffres affichés sont des pourcentages des valeurs et je veux qu'ils soient affichés en tant que tel:
« 0.18 » devient « 18% »
Alors, j'ai décidé de faire face à cela en utilisant un style qui doit être appliqué à tous les objets DataGridCell:.
<Style TargetType="{x:Type Controls:DataGridCell}">
<Style.Setters>
<Setter Property="ContentStringFormat" Value="{}{0:P}"/>
<Setter Property="Foreground" Value="DarkGray"/>
<Setter Property="Background" Value="Yellow"/>
</Style.Setters>
</Style>
Ensuite, l'arrière-plan et les couleurs de premier plan sont adoptées bien, mais les chiffres sont toujours affichés sous forme de décimales (ie « 0,18 » lit encore « 0,18 »
Comment puis-je résoudre ce problème?
Merci à l'avance Joerg
Salut Serge, je suis loin de mon code original et construit un exemple plus simple où j'ai créé quelques DataGridTextColumns à la main dans XAML. Un était lié à une colonne numérique d'un DataTable. Dans cette configuration, votre indice a très bien fonctionné et j'ai finalement obtenu la valeur formatée désirée de "18,0%". Maintenant, je dois encore savoir comment modifier l'automatique obligeraient AutoGenerateColumns du DataGrid est réglé sur « True » à nouveau ... mais c'est un nouveau poste si je ne :-) Cordialement Joerg –