Comment calculer la hauteur de la police dans WPF?
Pour un FontFamily
comment puis-je récupérer par programmation/calcul de la hauteur maximale de police à un particulier FontSize
?
J'ai besoin d'une valeur pour définir la hauteur d'un textblock qui affiche la police à l' FontSize
- ce doit être effectué par programmation.
J'ai besoin d'une valeur qui devra prendre en considération les jambages inférieurs et supérieurs, etc.
Mise à jour
Pour clarifier, j'ai besoin de la hauteur maximale de la gamme pour l'ensemble de la FontFamily
, pas à la hauteur d'un exemple de texte en police. Je ne sais pas ce que le texte sera à l'avance.
- Jetez un oeil à la façon dont TextBox calcule la hauteur de la ligne de zone de texte.GetLineHeight()
Vous devez vous connecter pour publier un commentaire.
La hauteur maximale de la gamme pour une police peut être calculée à l'aide de son LineSpacing propriété qui est proportionnel à la figure de la police. Ceci peut être utilisé pour donner une hauteur de ligne, qui peut accueillir tous les glyphes de la police à une taille particulière.
Résultat:
Ce chiffre va contenir une petite quantité de leader qui est souhaitable, en cas de besoin d'une hauteur de lignes de texte (ainsi que des ascendantes et des descendantes de lignes adjacentes de texte ont espacement).
Math.Ceiling()
? Je suis à l'aide de Messagerie Nouvelle taille 12 ettextbox.FontSize * textBox.FontFamily.LineSpacing
donne 13.59375.UseLayoutRounding="True"
que de lop off la partie décimale de la fontHeight, si la réduction de l'anti-aliasing est votre objectif.Utilisation
System.Windows.Media.FormattedText
classe.Exemple:
H
dans les bouchons doivent être assez.What is the possibility of characters being used other than all the alphabets?
... je suis d'accord avec vous que ce code ne sera pas vous aider avec votre problème que vous avez mentionné.