【问题标题】:UWP - Center Text Vertically in TextBlockUWP - 在 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 的文本?提前致谢。

【问题讨论】:

    标签: c# xaml uwp


    【解决方案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 正在更改边距。我猜你正在用鼠标将文本框移动到你想要的位置。
    猜你喜欢
    • 2023-03-05
    • 2014-10-19
    • 2013-10-15
    • 2018-05-31
    • 2015-09-16
    • 2012-09-17
    • 2013-02-01
    相关资源
    最近更新 更多