如何在WPF中对齐多个运行文本

本文关键字:运行 文本 对齐 WPF | 更新日期: 2023-09-27 18:28:35

我有多个Run文本的TextBlock,如:

<TextBlock Name="txtArea" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="15" Foreground="#343434">
   <Run FontSize="15pt" Text="Area" Name="lblArea" Foreground="#343434"/><LineBreak/>
   <Run Name="lblAreaValue" FontSize="18pt" Foreground="#343434" Text="{Binding Path=Carpet_area}"/>sq.ft
</TextBlock>

我试图将第一个Run块(即lblArea)与第二个块(即lbalAreaValue

直接回答您的问题:

<TextBlock></TextBlock>之间的空白是显著的。如果将所有内容都放在一行(包括<TextBlock></TextBlock>标记),则文本将按预期对齐。

更好的解决方案:

不要以这种方式使用文本块。由于您希望将两个元素直接放置在另一个元素的正下方,因此请使用表示的XAML元素来定位其他元素。在您的情况下,您可以使用StackPanel(orientation="Vertical")来定位两个TextBlock,一个直接位于另一个的下面。它们会在屏幕上很好地对齐。此外,您的XAML可以很好地格式化,因为您使用XAML元素的方式与它们的使用方式相同。

如何在WPF中对齐多个运行文本