Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как изменять цвет текста у TextBox или RichTextBox WPF Aplication / 6 сообщений из 6, страница 1 из 1
17.01.2011, 22:28
    #37063420
Bierhoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменять цвет текста у TextBox или RichTextBox WPF Aplication
Привет
Начал изучать WPF
И наткнулся на даную проблему - как програмно изменять цвет текста у TextBox или RichTextBox на WPF
У Winforms я использовал такой код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        private void Log(LogMsgType logmsgtype, string msg)
        {
            richTextBox1.Invoke(new EventHandler(delegate
            {
                richTextBox1.SelectedText = string.Empty;
                richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);
                richTextBox1.SelectionColor = LogMsgTypeColor[(int)logmsgtype];
                richTextBox1.AppendText(msg);
                richTextBox1.ScrollToCaret();
            }));
        }

\\Local variables
private enum LogMsgType {Incoming, Outgoing, Normal, Warning, Error,Neutral };
private Color[] LogMsgTypeColor = { Color.Blue,Color.DarkGreen,Color.Black,Color.OrangeRed,Color.Red,Color.HotPink};

Здесь я мог изменять цвет текста и виводить у RichTextBox+ Invoke

Такое же самое мне надо на WPF

public void Log(TextBox box, string msg)
{
box.Dispatcher.Invoke(new Action(() =>
{
box.Foreground = Brushes.Red; ------ сдесь надо менять цвет

box.AppendText(msg);
box.ScrollToEnd();
}));
}

Здесь Invoke меняэться на Dispatcher, а цвет менять не знаю!!!
box.Foreground = Brushes.Red - меняет цвет усього текста, а как сделать чтоби можна менять только виделеного(.SelectionColor)
...
Рейтинг: 0 / 0
18.01.2011, 11:32
    #37064037
Руки-крюки
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменять цвет текста у TextBox или RichTextBox WPF Aplication
Bierhoff,

Почему программно? Почему не в замле?
...
Рейтинг: 0 / 0
18.01.2011, 18:54
    #37065310
Bierhoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменять цвет текста у TextBox или RichTextBox WPF Aplication
Не понял прикол???
...
Рейтинг: 0 / 0
18.01.2011, 20:00
    #37065376
зепп1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменять цвет текста у TextBox или RichTextBox WPF Aplication
Bierhoff,

имхо надо в контент запихивать несколько TextBlock ов с разным цветом

Или вообще вопсользоваться dataBindingо м
...
Рейтинг: 0 / 0
19.01.2011, 17:55
    #37067518
Bierhoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменять цвет текста у TextBox или RichTextBox WPF Aplication
Попробую завтра, и отпишу
...
Рейтинг: 0 / 0
22.01.2011, 00:30
    #37072679
Bierhoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменять цвет текста у TextBox или RichTextBox WPF Aplication
Привет , немного помучился
Сделал ето через TextRange
Сама функция
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
using System.Windows.Documents;

        public void Log(RichTextBox box1, string msg, object color)//Здесь у обжект будем передавать цвет Brushes.Color!!!
        {
            box1.Dispatcher.Invoke(new Action(() =>
            {
                TextRange range = new TextRange(box1.Document.ContentEnd, box1.Document.ContentEnd);
                range.Text = msg;
                range.ApplyPropertyValue(TextElement.ForegroundProperty, color);
                box1.ScrollToEnd();// функция Autoscroll
            }));
        }

И ее вызов
Код: plaintext
1.
Log(richtextbox1,"Serial com1 is open...\r",Brushes.Blue);\\  \r - каретку добавляю чтоб следующые вызов добавил текст у новою строку

Тестировал з ком портом,когда много текста набрасивает на дата, та вроди би справляэться з обробкою
Мне помогло, пробуйте и вы етот.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как изменять цвет текста у TextBox или RichTextBox WPF Aplication / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]