2013-02-23 4 views
0

J'utilise un TextBox pour créer un titre modifiable sur quelque chose qui ressemble à une note post-it. J'ai changé pour un TextBox d'un RichEditBox pour voir si cela pourrait résoudre mon problème, ce qu'il n'a pas fait, donc je suis disposé à changer en arrière si cela aide. Mon problème est que je ne veux pas que l'utilisateur puisse entrer plus de caractères que la largeur du TextBox, parce que je veux que tout le titre soit visible. Définir une limite fixe à la quantité de caractères qui peuvent être entrés ne fonctionne pas vraiment puisque par exemple 10 M grands rempliraient la largeur de mon TextBox, mais d'autres caractères n'en rempliront que la moitié. Donc, je voudrais comparer la largeur du texte à la largeur du TextBox, donc je peux limiter la saisie au-delà de ce point. Editer: J'utilise la police Segoe UI, et je ne considère pas vraiment la modification de la police à un avec des caractères de largeur égale comme une solution.Limiter le texte à la largeur de TextBox

+1

Voir http://stackoverflow.com/questions/4219798/determine-how-wide-a-rendered-character-is-in-net ou http://stackoverflow.com/questions/ 721168/comment-déterminer-la-taille-d'-une-chaîne-donnée-une-police qui peut aider – ChrisF

+0

J'ai essayé de regarder dans les propriétés de TextBox et RichEditBox et ai essayé fondamentalement n'importe quoi qui pourrait rapporter à ceci. J'ai essayé de désactiver wordwrap, le défilement intégré de RichEditBox et la propriété AcceptsReturn. J'ai essayé la méthode MeasureString de DataWriter, qui s'est avérée pour mesurer le nombre de caractères. Impossible de trouver un autre moyen de mesurer la largeur de la chaîne. – oscar93

+0

Qu'en est-il de la baser sur la largeur de la zone de texte elle-même? – Brian

Répondre

0

Définissez la police TextBox sur une police Courier, puis tous les caractères ont la même largeur et le calcul de max devient trivial.

+0

Pas vraiment la solution parfaite puisque je voulais la police segoe qui est si emblématique pour les applications de Windows store. Mais encore une belle solution de sauvegarde! – oscar93

+0

Trouvé la police Segoe UI Mono, qui a la même propriété que la police Courier. Proche de parfait au moins. Je trouve toujours étrange qu'il n'y ait pas de meilleure solution à cela, donc je vais garder la question et voir si quelqu'un a une meilleure solution. Merci! – oscar93

0

Max value telling by hard coding .

Je suis sucent dans le monde de la programmation. Im essayer de vous aider ..

+0

Merci pour la réponse, mais comme je l'ai dit dans ma question, j'ai déjà essayé, et cela n'a pas vraiment résolu mon problème. – oscar93

+0

Je ne pense pas que vous ayez compris la question. Il ne veut pas le limiter à un * nombre * de caractères spécifique; il veut le limiter à la taille physique de la boîte de texte. –

Questions connexes