Antranig Marachlian Ответов: 1

Замените текст в RichTextBox или сохраните форматирование


Привет Группа

как я могу заменить текст в WPF RichTextBox на keep replaced text formatting??

BillWoodruff

Очень важно, чтобы вы попытались закодировать это самостоятельно и показали свой код здесь; включите любые сообщения об ошибках.

1 Ответов

Рейтинг:
2

gratedevenderpal sharma

RTB.SelectAll();

           string[] textArray = RTB.SelectedText.Split(new char[] { '\n' });

           foreach (string strText in textArray)
           {
               if (!string.IsNullOrEmpty(strText))
                   RTB.Rtf = RTB.Rtf.Replace(strText, strText.ToUpper());
           }


BillWoodruff

+4 я думаю, что вы находитесь на пути к превосходному ответу здесь. Я бы хотел, чтобы вы заработали #5 :), справившись со случаем, когда вы заменяете только в пределах выбора. Как и сейчас, вы бы заменили каждое вхождение совпадающей строки во всех Rtf.

Кроме того, позвольте мне попросить вас подумать о том, почему вы решили разделить выбор в первую очередь. Что делать, если пользователь хочет заменить содержимое, включающее разрывы строк ?

к вашему сведению: вы можете использовать "пустой" символ [] и опцию ' RemoveEmptyEntries, а результирующая строка[] будет содержать только строки содержимого Rtf.

твое здоровье, Билл

private char[] splitChars = новый символ[] {};

var splitstr = someString.Split (splitChars, StringSplitOptions.RemoveEmptyEntries);