【问题标题】:Content alignment in label WPF标签 WPF 中的内容对齐方式
【发布时间】:2015-10-01 19:09:03
【问题描述】:

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

这是我的 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>

这是输出

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

我在这里做错了什么?

【问题讨论】:

  • 您是否使用画布作为布局容器?如果是这样,这就是问题所在,请使用 Grid
  • 请分享完整的 XAML 代码 ;-)
  • @sine 我用完整的 XAML 代码编辑了我的问题
  • @thumbmunkeys 好的,我会尝试使用网格。但是应该在哪里使用画布呢?

标签: wpf xaml label


【解决方案1】:
<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>

看起来像这样:

【讨论】:

    【解决方案2】:

    如果您使用Snoop WPF 检查您正在运行的应用程序,您会发现标签可视树包含一个边框元素宽度和填充为 5、5、5、5。

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

    【讨论】:

    • 效果很好。我只需要增加标签的宽度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2012-07-22
    • 2014-08-02
    • 2014-02-05
    • 2012-03-25
    • 2021-06-30
    • 2016-05-28
    相关资源
    最近更新 更多