【问题标题】:WPF C# Text between line [closed]行间的WPF C#文本[关闭]
【发布时间】:2021-01-09 21:50:27
【问题描述】:

在 WPF UI 中,我想在水平线之间显示文本。

类似这样的图片:

【问题讨论】:

标签: c# wpf xaml


【解决方案1】:

您可以使用Height="1" 创建一个矩形并使用Background="White" 在其上创建一个标签

<Grid>
    <Rectangle Height="1" Stroke="Black"  />
    <Label Content="Text" Background="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>

【讨论】:

    【解决方案2】:

    一种简单的方法是将TextBlock 放在Grid 之上:

    <Grid>
        <Grid Height="1" SnapsToDevicePixels="True" Background="Black"/>
        <TextBlock Text="TEXT" HorizontalAlignment="Center" VerticalAlignment="Center" 
                   Background="White" />
    </Grid>
    

    【讨论】:

      【解决方案3】:

      在我看来,这就像一个包含三列的 Grid:第二列自动调整为其内容宽度(即“TEXT”),另外两列是星号大小,因此它们最终的宽度相同(每列占用剩余空间的一半)。

      <Grid>
          <Grid.ColumnDefinitions>
              <ColumnDefinition Width="*"/>
              <ColumnDefinition Width="Auto"/>
              <ColumnDefinition Width="*"/>
          </Grid.ColumnDefinitions>
          <Rectangle Grid.Column="0" Height="1" VerticalAlignment="Center" Stroke="Black"/>
          <TextBlock Grid.Column="1" Text="TEXT"/>
          <Rectangle Grid.Column="2" Height="1" VerticalAlignment="Center" Stroke="Black"/>
      </Grid>
      

      根据您的字体,您可能需要尝试为矩形添加一些顶部或底部边距,以使它们以您想要的方式与文本对齐 - 不幸的是,没有内置方法可以将其与文本中线。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-02
        • 1970-01-01
        • 2017-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多