【问题标题】:Vertically aligning Labels and TextBlocks at Top in XAML在 XAML 中垂直对齐顶部的标签和文本块
【发布时间】:2010-11-09 03:25:53
【问题描述】:

如何在Top 处垂直对齐LabelTextBlock,以便它们的第一行文本对齐?

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
    </Grid.RowDefinitions>
    <Label Grid.Column="0" VerticalAlignment="Top">Some Label:</Label>
    <TextBlock Grid.Column="0" VerticalAlignment="Top">Some text<TextBlock>
</Grid>

上面的代码给了我这个:

Vertically misaligned Label and TextBlock text http://img156.imageshack.us/img156/4940/labeltextblock.png

【问题讨论】:

  • 这个问题的代码很破。 Label 和 TextBlock 都在第 0 列第 0 行,并且彼此重叠出现。 TextBlock “关闭”标签实际上是第二个 TextBlock opening 标签,所以我猜代码不是从工作示例中复制的。 (这个老问题的图片也坏了。) 2021-07-17 测试。
  • 编辑队列已满,但更正问题代码:``` B```

标签: xaml label textblock


【解决方案1】:

标签周围的额外空间来自 Padding 属性。要删除空格,您可以直接在 Label 上显式地将 Padding 属性设置为“0”,当然,也可以通过 Style 进行设置。

【讨论】:

  • 好像一个Label的Padding默认设置为5,一个TextBlock的设置为0,谢谢解答。
  • 当两个控件的 FontSize 不同时,问题就开始了。
  • 感谢您向我揭开 WPF 的奥秘之一
【解决方案2】:
<TextBlock>
<InlineUIContainer BaselineAlignment="Top"><Label Content="Label"/></InlineUIContainer>
<InlineUIContainer BaselineAlignment="Top"><TextBlock>TextBlock Content</TextBlock>                 </InlineUIContainer>
</TextBlock>

HTH。

【讨论】:

    【解决方案3】:

    这里有一个解决方法:Align bottoms of text in controls

    我发布了一个连接:https://connect.microsoft.com/WPF/feedback/ViewFeedback.aspx?FeedbackID=523432,请投票。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-20
      • 2011-01-27
      • 2021-07-27
      相关资源
      最近更新 更多