1

右对齐标签未到达右边框:

<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
    <Label Content="Left Align" HorizontalAlignment="Left"/>
    <Label Content="Right Align" HorizontalAlignment="Right" />
</StackPanel>

即使我指定了 Horizo​​ntalAlignment="Stretch" ,这两个标签似乎都没有占用全部可用宽度。它的原因是什么?

在此处输入图像描述

4

3 回答 3

0

你应该使用 aDockPanel而不是 a StackPanel

另请参阅对齐堆栈面板中的项目?或者

<DockPanel LastChildFill="False">
    <Label Content="Left Align" DockPanel.Dock="Left"/>
    <Label Content="Right Align" DockPanel.Dock="Right" />
</DockPanel>

@santosc在这里描述为什么与 StackPanel 的对齐不能按预期工作:

一个堆叠面板,无论你如何拉伸它,都会在孩子们周围塌陷。你不能让它增长得更多。

于 2012-07-19T11:52:56.717 回答
0

StackPanel如果没有提供宽度,则缩小以适应内容。

DockPanel正如斯蒂芬鲍尔所说,使用 a ,或者可能使用Grid.

于 2012-07-19T11:59:31.753 回答
0

尝试一下 :

     <Grid>
       <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
       </Grid.ColumnDefinitions>
       <Label Grid.Column="0" Content="Left Align" />
       <Label Grid.Column="2" Content="Right Align"  />
    </Grid>
于 2015-04-17T11:56:30.127 回答