J'ai lié ma zone de texte à une valeur de chaîne via Comment afficher string.empty ou "" pour la chaîne "0" et toutes les autres cordes avec leur valeur d'origine ? p> merci pour une aide! p> acclamations p> PS: une solution serait une vue personnalisée pour la chaîne. Mais je préférerais le faire en quelque sorte dans le XAML directement, si c'est possible. p> p>
3 Réponses :
Je pense que le seul moyen à l'aide de la vue ViewModel crée une valeur de valeur personnalisée.
Fondamentalement, vos choix sont les suivants: P>
ViewModel: P>
public class AgeTextConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value.Equals("0")) return string.Empty; return value; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { } }
J'irais avec la valeur Custom ValueConverter
Merci beaucoup! ValueConverter est exactement ce que je cherchais. Acclamations
Je me souviens d'avoir utilisé # ou quelque chose comme ça dans Excel, pour afficher des cellules vides si la valeur est 0. ne fonctionnerait-il pas à StringFormat?
Depuis que la propriété d'âge est évidemment un nombre ici, une autre façon d'aller consisterait à exposer l'âge en tant qu'inT et à utiliser l'attribut stringformat code> de la liaison code> code>:
Vous étiez plus rapide :) Je peux voir ici le problème que si un utilisateur entre dans la valeur String.empty, mes autres classes auraient besoin d'un "0" pour cela ou qu'ils vont se planter, alors je suppose que la meilleure façon d'y aller est l'évaluateur. Acclamations
J'ai trouvé quelque chose sur http://www.codeproject.com/kb/books/ 0735616485.aspx acclamations p> p>
Cela fera le truc: