WPF TextBlock police redimensionner pour remplir l'espace disponible dans une Grille
J'ai un peu de texte qui s'affiche au moment de l'exécution dans un textblock. Je veux
la taille de la police pour être le plus grand, il peut être afin de remplir la zone qui est
donné. Je pense que j'ai le textblock correctement paramétré à "autosize" et
J'ai essayer d'augmenter la taille de la police jusqu'à la textblock est plus grand que ce que
ses parents puis diminuer la taille de la police par 1. Le problème est que je ne peux pas
obtenir le contrôle de redessiner/recalculer sa taille.
Est la meilleure façon de le faire? Ou est-il une manière que je peux faire de ma méthode de travail?
Vous devez vous connecter pour publier un commentaire.
Envelopper le
TextBlock
à l'intérieur d'unViewBox
:J'ai eu le même problème. Vous pouvez l'utiliser pour redimensionner la fontsize de la textblock afin de remplir la zone quand il a débordement.
J'ai trouvé un excellent moyen de faire cela en utilisant
ViewBox
:WPF
ViewBox
de contrôle peut grandir /rétrécir avec son contenu à l'espace disponible.Il suffit de placer votre
TextBlock
dans unViewBox
comme;ViewBox
est généralement mis à l'échelle par son contenant.Bien, ce n'est pas une réponse "parfaite", mais c'est un moyen rapide hack (vous pouvez déposer en kaxaml et de la tester):
La
ViewBox
agrandir tout contenu à remplir son récipient. Le problème est que leTextBlock
, tandis que sa taille de son texte, a rembourrage en haut et en bas que vous ne pouvez pas vous débarrasser (sans soulever des poids lourds). Cela pourrait vous rapprocher de ce que vous voulez, tho.Pour assurer l'emballage, vous devez définir la
MaxWidth
et/ouMaxHeight
de laTextBlock