7

我的标签中的文本对齐有一个小问题

这是我的 xaml 代码

<GroupBox Header="Normal" Width="450" Height="150" Name="grpNormal">
    <Canvas Name="cvsNormal" Width="440" Height="140">
        <Label Name="lblStartRegNormal" Width="223" Content="Enter the starting reg number: " FontSize="16" Canvas.Left="2" Canvas.Top="15" HorizontalContentAlignment="Right" />
        <TextBox Name="txtStartRegNormal" Height="40" Width="200" Canvas.Right="10" Canvas.Top="15"/>
        <Label Name="lblEndRegNormal" Width="223" Content="Enter the ending reg number: " FontSize="16" Canvas.Left="5" Canvas.Top="65" HorizontalContentAlignment="Right"/>
        <TextBox Name="txtEndRegNormal" Height="40" Width="200" Canvas.Right="10" Canvas.Top="65"/>
    </Canvas>
</GroupBox>

这是输出

在此处输入图像描述

但是当我更改标签内容时,右侧的冒号未对齐

在此处输入图像描述

我在这里做错了什么?

4

2 回答 2

7
<GroupBox Header="Normal" Width="450" Height="150" Name="grpNormal">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <Label Grid.Row="0" Name="lblStartRegNormal" Width="223" Content="Enter the starting reg number: " FontSize="16" HorizontalContentAlignment="Right" />
            <TextBox Name="txtStartRegNormal" Grid.Column="1" Height="40" Width="200"/>
            <Label Grid.Row="1"  Name="lblEndRegNormal" Width="223" Content="Enter the ending reg number: " FontSize="16" HorizontalContentAlignment="Right"/>
            <TextBox Name="txtEndRegNormal" Height="40" Grid.Row="1" Grid.Column="1" Width="200" />
        </Grid>
    </GroupBox>

它看起来像这样:

在此处输入图像描述

于 2013-09-16T10:33:32.313 回答
6

如果您使用Snoop WPF检查正在运行的应用程序,您会发现 Labels Visual Tree 包含一个 Border 元素宽度和 5、5、5、5 的填充。

如果您使用 SnoopWPF 删除填充,一切都会呈现正常。这表明虽然标签宽度为 223,但文本内容的宽度更小,并且它延伸到较长文本上的此填充中。尝试使标签稍宽或仅使用 TextBlock。

于 2013-09-16T09:44:03.817 回答