Выделенная жирным шрифтом часть текстового поля / RichTextBox в коде C #

#c# #wpf #fonts #textbox

#c# #wpf #шрифты #текстовое поле

Вопрос:

Существует много примеров того, как форматировать текст в текстовом поле с помощью кода xaml, но я пытаюсь выяснить, как изменить код в моем файле .cs.

 //TextBox tb initialized in .xaml code
tb.Text = "<bold>Bold</bold> and normal and <italic>Italic</italic>";
  

соответствует тому, что я ищу. Возможно ли это?

Конечный результат будет выглядеть так:

Полужирный, обычный и курсивный

Ответ №1:

Вы можете сделать это RichTextBox , добавив строки, подобные этой:

 Paragraph paragraph = new Paragraph();
paragraph.Inlines.Add(new Bold(new Run("Bold")));
paragraph.Inlines.Add(new Run(" and normal"));
paragraph.Inlines.Add(new Italic(new Run(" and Italic")));
richTextBox.Document = new FlowDocument(paragraph);
  

Ответ №2:

Если вы решите использовать TextBlock , вы можете использовать следующее:

 this.myTextBlock.Inlines.Add(new Bold(new Run("Bold")));
this.myTextBlock.Inlines.Add(" and normal and ");
this.myTextBlock.Inlines.Add(new Italic(new Run("italic")));
  

В противном случае, если вам нужно использовать TextBox , вы можете применять стиль только ко всему тексту, например, используя myTextBox.FontWeight .