Могу ли я раскрасить разные части текста в текстовом поле WPF?

У меня есть текстовое поле WPF, в которое мои пользователи вводят XHTML.

XAML ...

<TextBox Name="TextBoxContentBody"
         TextWrapping="Wrap"
         AcceptsReturn="True"
         VerticalScrollBarVisibility="Visible"
         FontFamily="Consolas"
         ... />

Это выглядит так:

введите описание изображения здесь

Я бы предпочел, чтобы это выглядело так (фотошопный макет):

введите описание изображения здесь

Как я могу этого добиться?

Ответов (3)

Как сказал Кент, с TextBox вы застряли в одном цвете.

Вот небольшая статья о простой подсветке синтаксиса RTB, которая должна дать вам большую часть того, что вам нужно.

http://blogs.microsoft.co.il/blogs/tamir/archive/2006/12/14/RichTextBox-syntax-highlighting.aspx

Вам нужно будет создать настраиваемый элемент управления, наследующий элемент управления TextBox, и следовать этому примеру:

Отформатированный текст на чертеже

Вы захотите использовать для этого RichTextBox .