258 votes

Alignement vertical du texte dans TextBlock de WPF

Affectation d’alignement de l’axe vertical du texte dans un TextBlock ? J’ai trouvé la propriété TextAlignment mais c’est pour l’alignement du texte horizontal. Comment faire pour l’alignement du texte vertical ?

318voto

Orion Edwards Points 54939

Un Textblock lui-même ne peut pas faire l’alignement vertical

La meilleure façon de faire ce que j’ai trouvé est de mettre le textblock à l’intérieur d’une frontière, donc, la frontière ne l’alignement pour vous.

Note : Ceci est fonctionnellement équivalente à l’utilisation d’une grille, tout dépend comment vous souhaitez que les contrôles s’inscrire dans le reste de votre mise en page au sujet de laquelle on est plus approprié

109voto

Ben Jones Points 790

Bien qu'Orion Edwards Answer fonctionne pour n'importe quelle situation, il peut être difficile d'ajouter la bordure et de définir les propriétés de la bordure chaque fois que vous voulez le faire. Un autre moyen rapide est de définir le remplissage du bloc de texte:

 <TextBlock Height="22" Padding="3" />
 

66voto

hwiechers Points 4717

Le TextBlock ne prend pas en charge l'alignement de texte vertical.

Je contourne cela en enveloppant le bloc de texte avec une grille et en définissant HorizontalAlignment = "Stretch" et VerticalAlignment = "Center".

Comme ça:

     <Grid>
        <TextBlock 
            HorizontalAlignment="Stretch"
            VerticalAlignment="Center"
            Text="Your text" />
    </Grid>
 

18voto

Aneesh Daniel Points 238

Vous pouvez utiliser label à la place de textblock.

 <Label Content="Hello, World!">
    <Label.LayoutTransform>
        <RotateTransform Angle="270"/>
    </Label.LayoutTransform>
</Label>
 

3voto

user448777 Points 11

Pour moi, VerticalAlignment="Center" résout ce problème.
Cela pourrait être dû au fait que TextBlock est enveloppé dans une grille, mais il en va de même pour pratiquement tout dans wpf.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X