【发布时间】:2021-01-09 21:50:27
【问题描述】:
【问题讨论】:
-
这能回答你的问题吗? Pad Left & Pad Right (Pad Center) String
【问题讨论】:
您可以使用Height="1" 创建一个矩形并使用Background="White" 在其上创建一个标签
<Grid>
<Rectangle Height="1" Stroke="Black" />
<Label Content="Text" Background="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
【讨论】:
一种简单的方法是将TextBlock 放在Grid 之上:
<Grid>
<Grid Height="1" SnapsToDevicePixels="True" Background="Black"/>
<TextBlock Text="TEXT" HorizontalAlignment="Center" VerticalAlignment="Center"
Background="White" />
</Grid>
【讨论】:
在我看来,这就像一个包含三列的 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>
根据您的字体,您可能需要尝试为矩形添加一些顶部或底部边距,以使它们以您想要的方式与文本对齐 - 不幸的是,没有内置方法可以将其与文本中线。
【讨论】: