Есть ли способ подчеркнуть один символ в текстовом блоке WPF? - PullRequest
4 голосов
/ 08 октября 2010

Есть ли способ применить подчеркивание текста к одному символу только в текстовом блоке (или на любую величину меньше полного блока)?

У меня есть какой-то текст, который я хочу вывести как "этот рабочий лист написан с ошибкой " и подчеркнут f in worf.

Я знаю, что вы можете сделать:

TextBlock47.TextDecorations = TextDecorations.Underline;

, но я не хочу весь блок

Если это не так, есть ли другой элемент управления, который я могу использовать, кроме TextBlock, который дает такую ​​возможность?Я посмотрел в расширенный текст, но это похоже на огромную работу для простого эффекта.Если этот является единственным способом, как мне создать текст определенного формата (10pt, Courier New, подчеркнут один символ) в коде c #?

Ответы [ 2 ]

16 голосов
/ 08 октября 2010

Вы можете использовать Подчеркивание в 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"));
1 голос
/ 08 октября 2010
...