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

C# 如何在WPF中对齐多个运行文本?,c#,wpf,xaml,C#,Wpf,Xaml,我有TextBlock和多个Run文本作为: <TextBlock Name="txtArea" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="15" Foreground="#343434"> <Run FontSize="15pt" Text="Area" Name="lblArea" Foreground="#343434"/><LineB

我有
TextBlock
和多个
Run
文本作为:

<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
block即lblArea与第二个block即lblAreaValue垂直对齐,但第二个Run block略微向右移动,以直接回答您的问题:

之间的空白非常明显。如果将所有内容放在一行(包括
标记),文本将按预期对齐

更好的解决方案:


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

您的问题是什么?上面的第一个运行块即Name=“lblArea”我正试图将其与第二个运行块即Name=“lblAreaValue”完全对齐垂直。但是第二个运行块稍微向右移动。不同的字体大小(15pt和18pt)在这里没有帮助。您将不得不在15磅文本上设置左边距,尽管数量可能取决于实际显示的文本。