wpfvertical-alignmenttextblock

Text vertical alignment in WPF TextBlock


How do I assign vertical center alignment to the text inside a TextBlock? I found TextAlignment property but it is for horizontal text alignment. How do I do it for vertical text alignment?


Solution

  • A Textblock itself can't do vertical alignment

    The best way to do this that I've found is to put the textblock inside a border, so the border does the alignment for you.

    <Border BorderBrush="{x:Null}" Height="50">
        <TextBlock TextWrapping="Wrap" Text="Some Text" VerticalAlignment="Center"/>
    </Border>
    

    Note: This is functionally equivalent to using a grid, it just depends how you want the controls to fit in with the rest of your layout as to which one is more suitable