以下是我目前在WPF中创建带下划线的标题文本的代码。然后必须有一种更简单的方法,然后使用表格。
<Grid>
<FlowDocumentScrollViewer>
<FlowDocument>
<Table>
<Table.Columns>
<TableColumn Width="Auto"/>
</Table.Columns>
<TableRowGroup>
<TableRow>
<TableCell>
<Paragraph Style="{StaticResource Text_LoginHeaderStyle}">
<Bold>Some header text</Bold>
</Paragraph>
</TableCell >
</TableRow>
<TableRow>
<TableCell>
<BlockUIContainer>
<Line Style="{StaticResource Control_TitleLineSeparator}" />
</BlockUIContainer>
</TableCell>
</TableRow>
</TableRowGroup>
</Table>
</FlowDocument>
</FlowDocumentScrollViewer>
</Grid>
该行的定义是
<Style x:Key="Control_TitleLineSeparator" TargetType="Line" BasedOn="{StaticResource BasicHorizontalLine}">
<Setter Property="Stroke" Value="Gray"/>
<Setter Property="StrokeThickness" Value="1"/>
<Setter Property="Margin" Value="0,0,0,3"/>
</Style>
我们的想法是创建一些文本并加下划线,以便下划线拉伸封闭容器的整个宽度,在本例中为网格布局。
更新
我不必使用表格,这是我能找到的唯一有效的方法,并没有在文本和行之间留出很大的空间。我现在发现了一个看起来更简单的方法。
<BlockUIContainer>
<TextBlock Style="{StaticResource Text_LoginHeaderStyle}" Text="Skill Groups"/>
</BlockUIContainer>
<BlockUIContainer>
<Line Style="{StaticResource Control_TitleLineSeparator}" />
</BlockUIContainer>
但即使这看起来也非常复杂。我修改了上面的文字是自成一体的。
答案 0 :(得分:1)
您可以尝试在仅在底部定义边框的边框中包装所需的文本:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Border BorderThickness="0,0,0,1"
BorderBrush="Black"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
SnapsToDevicePixels="True">
<TextBlock Text="Some text here" />
</Border>
</Page>