Format de la zone de texte numéro de téléphone dans WPF
J'ai un DataGrid dans une fenêtre WPF. Comment puis-je afficher un numéro de téléphone de la chaîne de colonne dans la grille de données dans un format "(999)999-9999"?
Le numéro de Téléphone de la colonne dans la grille de données utilise un TextBlock dans le CellTemplate et une zone de texte dans la CellEditingTemplate. Le numéro de téléphone est stocké sous forme de chaîne avec pas de formatage telles que "9995551234".
Est-il possible d'afficher le téléphone:(999)555-1234 et le modifier comme vous (999)555-1234?
Pourquoi ne pas mettre directement dans le modèle et d'ajouter un ToFormattedString() ou d'autres biens qui vous lier? Vous pouvez aussi utiliser un Convertisseur.
OriginalL'auteur Jerry | 2011-11-10
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
Text="{Binding PhoneNumber, StringFormat={}{0:(###)###-####}}"
Modifier
Si votre
PhoneNumber
de la propriété est de type chaîne de caractères, alors il n'y a pas vraiment beaucoup que vous pouvez faire avecStringFormat
la formater.Dans le passé, lorsque j'ai voulu faire quelque chose comme cela, j'expose une propriété appelée
FormattedPhoneNumber
qui renvoie formaté le numéro de téléphone à des fins d'affichage, et la zone d'édition, juste se lie à l'ancienne brut sans mise en formePhoneNumber
Oh je viens de réaliser que le Numéro de téléphone est une chaîne, donc mis à jour ma réponse. Si cela ne fonctionne pas pour vous, alors vous pourriez avoir à regarder dans la construction ou la recherche de votre propre
MaskedTextBox
à utiliserOui, cela fonctionne très bien! J'ai ajouté une Classe Partielle et a ajouté FormattedPhoneNumber comme une chaîne publique. Donc, dans mon DataGrid, j'utilise FormattedPhoneNumber dans le Celltemplate, Numéro de téléphone dans l'CellEditingTemplate. Fonctionne très bien merci!
OriginalL'auteur Rachel
après une courte recherche sur google j'ai trouvé ces deux liens
le second est en allemand
WPF – Masqué zone de texte Comportement
http://marlongrech.wordpress.com/2007/10/28/masked-textbox/
Zone De Texte Masqué
http://blindmeis.wordpress.com/2010/06/01/wpf-masked-textbox-behavior/
espère que cette aide
OriginalL'auteur punker76
Je tiens à exprimer ce que Rachel a déjà répondu. Si un numéro de téléphone est un entier, StringFormat serait très bien fonctionner. Dans le cas où un numéro de téléphone est une chaîne de caractères, j'ai trouvé Convertisseur pour être tout à fait à portée de main. Cela supprime la nécessité de créer d'autres biens pour une classe.
Voici un exemple:
xaml:
OriginalL'auteur lucas