文本装饰下划线覆盖了文本块的测试

Text decoration underline is overriding the test for text block

我正在使用文本块,悬停该文本块时会为其添加下划线。一切正常,但对于某些字母表,如 y、j,下划线显示不正确。

<TextBlock Text="{Binding UserName}" FontSize="16" FontWeight="Bold" VerticalAlignment="Top"
                                                             Cursor="Hand" Grid.Column="0" MouseEnter="OnFocus_UserName" />

 private void OnFocus_UserName(object sender, MouseEventArgs e)
    {
        ((TextBlock) sender).TextDecorations = TextDecorations.Underline;
    }

输出结果如下:

:

如何在y的锚点下方显示下划线?

您可以通过以下方式更改下划线的偏移量:

 <TextBlock Text="reddy" FontSize="16" FontWeight="Bold" VerticalAlignment="Top"
               Grid.Row="2">
        <TextBlock.TextDecorations>
            <TextDecoration PenOffset="3" Location="Underline" />
        </TextBlock.TextDecorations>
    </TextBlock>

penoffset 决定偏移量应该是多少。

Documentation for the PenOffset Property