有没有一种方法可以在 WPF TextBlock 中为一个字符添加下划线?

发布于 2024-09-26 22:37:30 字数 406 浏览 7 评论 0原文

有没有一种方法可以将下划线文本装饰仅应用于 TextBlock 中的一个字符(或小于整个块的任何数量)?

我有一些文本想要输出为“this worf 拼写错误”,并且在 worf 中的 f 下划线。

我知道你可以这样做:

TextBlock47.TextDecorations = TextDecorations.Underline;

但我不希望整个块都加下划线。

如果做不到这一点,除了 TextBlock 之外,是否还有其他控件可以提供此功能?我研究过富文本,但对于一个简单的效果来说,这似乎需要做大量的工作。如果这是唯一的方法,我该如何在 C# 代码中生成特定格式的文本(10pt、Courier New、一个下划线字符)?

Is there a way to apply an underline text decoration to one character only in a TextBlock (or any amount less than the full block)?

I have some text that I want output as "this worf is misspelt" and have the f in worf underlined.

I know you can do:

TextBlock47.TextDecorations = TextDecorations.Underline;

but I don't want the entire block underlined.

Failing that, is there another control I can use other than TextBlock that gives this capability? I've looked into rich text but that seems like an awful lot of work for what's a simple effect. If that is the only way, how do I go about generating text of a specific format (10pt, Courier New, one character underlined) in c# code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦里梦着梦中梦 2024-10-03 22:37:30

您可以在 下划线 ="http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.aspx" rel="noreferrer">TextBlock:

<TextBlock Name="textBlock47">
  this wor<Underline>f</Underline> is misspelt
</TextBlock>

textBlock47.Inlines.Add(new Run("this wor"));
textBlock47.Inlines.Add(new Underline(new Run("f")));
textBlock47.Inlines.Add(new Run(" is misspelt"));

You can use Underline in a TextBlock:

<TextBlock Name="textBlock47">
  this wor<Underline>f</Underline> is misspelt
</TextBlock>

or

textBlock47.Inlines.Add(new Run("this wor"));
textBlock47.Inlines.Add(new Underline(new Run("f")));
textBlock47.Inlines.Add(new Run(" is misspelt"));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文