Использование richtextbox в качестве окна чата, в котором отображается текст, имеющий проблемы с настройкой текста в WPF - PullRequest
0 голосов
/ 10 января 2012

Я делаю мессенджер чата на C # WPF, я использовал расширенное текстовое поле Wpf для отображения чата, но я пытаюсь настроить ник и выполнить выравнивание текста, расширенное текстовое поле, содержащее текст, добавляется с помощью кода,не знаю, как настроить его, я прилагаю изображение для более подробного объясненияenter image description here

Я хочу, чтобы эта дата была выровнена по левому краю, и я хочу, чтобы псевдоним был синего цвета.Я думаю, что мы не можем использовать HTML-текст в поле расширенного текста, или какое решение для настройки текста, если я буду использовать некоторые теги, или что, пожалуйста, дайте мне знать лучшее решение.

Ответы [ 3 ]

2 голосов
/ 10 января 2012

Вам может быть лучше обслужено использование FlowDocument и добавление к содержимому документа при отправке / получении каждого сообщения ( нажмите для получения дополнительной информации ).

0 голосов
/ 17 января 2012

Создайте новый Span каждый раз и добавляйте его вместо добавления текста.

            Span nick = new Span();
            nick.Foreground = Brushes.Blue;

            Span date = new Span();
            date.FontWeight = FontWeights.Bold;

            Paragraph para = new Paragraph();
            para.Inlines.Add(nick);
            para.Inlines.Add(date);

            FlowDocument d = new FlowDocument();
            d.Blocks.Add(para);

            rtb.Document = d;

Надеюсь, это поможет.

С уважением,

Джавахар

0 голосов
/ 10 января 2012

Я думал, что в коде вы должны использовать / b жирным шрифтом. Так что в этом случае ваш код будет выглядеть как

rtextbox.Text = "/bHello/b";

Дайте мне знать, если это сработало.

Изменить, потому что первое решение не сработало:

1 Выберите текст, который вы хотите преобразовать:

rtb.select(Start , Length of string)

2 Создайте шрифт с правильными свойствами и добавьте его в выделение

rtb.Selectionfont = new Font(rtb.SelectionFont, FontStyle.Bold)
...