UWP - 在 TextBlock 中垂直居中文本

Posted

技术标签:

【中文标题】UWP - 在 TextBlock 中垂直居中文本【英文标题】:UWP - Center Text Vertically in TextBlock 【发布时间】:2018-04-26 19:05:19 【问题描述】:

所以有一个现有的thread 声明为了垂直对齐文本,您需要用边框换行。但是,我尝试了这个,而不是垂直对齐,TextBlock 进入一个角落,仍然垂直对齐到顶部。我不知道这是否与 WPF 和 UWP 的差异有关,但无论如何,它不起作用。我的 TextBlock 定义如下:

<TextBlock x:Name="TextBlock" Margin="855,226,0,0" TextWrapping="Wrap"
     VerticalAlignment="Top" Height="150" Width="150" FontFamily="DOCK11" 
     TextAlignment="Center" Padding="0" HorizontalAlignment="Left" Text="Sample Text..."/>`

在给定尺寸的情况下,是否可以垂直对齐 TextBlock 的文本?提前致谢。

【问题讨论】:

【参考方案1】:

根据documentationTextBlock.TextAlignment

获取或设置一个值,该值指示文本内容的水平对齐方式。

要实现您的目标,您确实应该用Border 包装TextBlock 并将其设置为VerticalAlignmentCenter

    <Border Height="150" 
            Width="150"
            Margin="855,226,0,0">
        <TextBlock TextWrapping="Wrap" 
                   FontFamily="DOCK11"
                   TextAlignment="Center" 
                   VerticalAlignment="Center"
                   Padding="0" 
                   Text="Sample Text..."/>
   </Border>

【讨论】:

由于某种原因,当我这样做时,TextBlock 会离开屏幕,我什至找不到它。 由于您设置的 Padding 值,它会从屏幕上消失。如果它是您的实验遗留下来的,请完全删除它。 我的 padding 一直设置为 0。 对不起,我的意思是Margin @Orion31:不是 Visual Studio 正在更改边距。我猜你正在用鼠标将文本框移动到你想要的位置。

以上是关于UWP - 在 TextBlock 中垂直居中文本的主要内容,如果未能解决你的问题,请参考以下文章

TextBlock 文本不在 DataGridCell 内垂直居中

如何在 UWP 上的 Xamarin 表单条目中垂直居中文本?

如何在 UWP 上的 Xamarin 表单条目中垂直居中文本?

UWP TextBox中的垂直中心文本和光标

UWP仅在TextBlock文本溢出时显示Tooltip

UWP仅在TextBlock文本溢出时显示Tooltip