如何在堆栈面板中正确对齐标签

How to align labels properly in a stack panel

我正在努力实现这样的目标:

如您所见,有一个标题 "This is what I want" 与 另一个标签

我写的代码:

      <Grid Width="345" Height="445" Background="White">

            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>

            <StackPanel Grid.Row="0" Orientation="Vertical" Margin="10">
                <Label Content="How to align this to the left:" />
                <StackPanel Grid.Row="1" Orientation="Horizontal" Background="#D9D9D9">
                    <Label Content="€" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center" />
                    <Label Content="256,00" FontSize="38" FontWeight="Bold" />
                </StackPanel>
            </StackPanel>

        </Grid>
</Grid>

我的代码结果如下所示:

可能会注意到,标签没有左对齐,看起来有一些填充或其他东西...

而且 € 符号也不在正确的位置,我试图像在第一张图片上那样实现这一点,但是我尝试使用不同类型的对齐(水平、居中)的所有方法都不起作用..

谢谢大家 干杯

LabelPadding 设置为 0 或使用 TextBlock。 TextBlock 比 Label 更轻量,并且没有默认 Padding.

您可以使用 Margin 属性 将 €-sign 向上移动一点:

<StackPanel Grid.Row="0" Orientation="Vertical" Margin="10">
    <TextBlock Text="How to align this to the left:" />
    <StackPanel Grid.Row="1" Orientation="Horizontal" Background="#D9D9D9">
        <TextBlock Text="€" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Bottom"
                            Margin="0 0 3 5"/>
        <TextBlock Text="256,00" FontSize="38" FontWeight="Bold" />
    </StackPanel>
</StackPanel>