简体   繁体   中英

Content alignment in label WPF

i have a small problem with the alignment of my text in a label

this is my xaml code

<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>

here is the output

在此输入图像描述

but when i change my label content, the colons on the right side are not aligned

在此输入图像描述

What am i doing wrong here?

<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>

It looks like this:

在此输入图像描述

If you use Snoop WPF to examine your running application you will find that the Labels Visual Tree includes a Border element width a padding of 5,5,5,5.

If you remove the padding using SnoopWPF everything renders fine. This indicates that whilst the label width is 223 the width for the text content is less and its stretching into this padding on the longer text. Try making the label slightly wider or just using a TextBlock instead.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM