如何在堆栈面板中正确对齐标签
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>
我的代码结果如下所示:
可能会注意到,标签没有左对齐,看起来有一些填充或其他东西...
而且 € 符号也不在正确的位置,我试图像在第一张图片上那样实现这一点,但是我尝试使用不同类型的对齐(水平、居中)的所有方法都不起作用..
谢谢大家
干杯
将 Label
的 Padding
设置为 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>
我正在努力实现这样的目标:
如您所见,有一个标题 "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>
我的代码结果如下所示:
可能会注意到,标签没有左对齐,看起来有一些填充或其他东西...
而且 € 符号也不在正确的位置,我试图像在第一张图片上那样实现这一点,但是我尝试使用不同类型的对齐(水平、居中)的所有方法都不起作用..
谢谢大家 干杯
将 Label
的 Padding
设置为 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>